简单Service后台音乐播放
来源:互联网 发布:网上商城界面源码jsp 编辑:程序博客网 时间:2024/05/20 06:23
public class MainActivity extends Activity {private MyConnection conn;private MyPlayMusicService playMusicService;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);conn = new MyConnection();}// 点击button播放音乐public void startMusic(View view) {if (playMusicService == null) {Intent intent = new Intent(MainActivity.this, MyPlayMusicService.class);// 以绑定的形式开启服务bindService(intent, conn, Context.BIND_AUTO_CREATE);} else {// 播放音乐playMusicService.startMusic();}}// 点击button暂停播放public void pauseMusic(View view) {if (playMusicService != null) {playMusicService.pauseMusic();}}// 点击button停止播放音乐public void stopMusic(View view) {if(playMusicService != null){playMusicService.stopMusic();unbindService(conn);}}public class MyConnection implements ServiceConnection {@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {MyBinder myBinder = (MyBinder) service;playMusicService = myBinder.getService();}@Overridepublic void onServiceDisconnected(ComponentName name) {}}}
public class MyPlayMusicService extends Service {//操作音频的媒体对象private MediaPlayer mediaPlayer;private int position = 0;//当前播放的位置@Overridepublic void onCreate() {super.onCreate();//初始化Mediaplayerif(mediaPlayer == null){//根据特定的资源创建MediaPlayer对象mediaPlayer = MediaPlayer.create(MyPlayMusicService.this, R.raw.heavencity);}}@Overridepublic IBinder onBind(Intent intent) {//绑定之后直接播放startMusic();return new MyBinder();}//开始播放音频public void startMusic(){if(mediaPlayer != null && !mediaPlayer.isPlaying()){try {if(position == 0){mediaPlayer.stop();//在播放之前调用mediaPlayer.prepare();mediaPlayer.start();}else{//根据指定的位置播放mediaPlayer.seekTo(position);mediaPlayer.start();}}catch (Exception e) {e.printStackTrace();}}}//暂停播放public void pauseMusic(){if(mediaPlayer != null && mediaPlayer.isPlaying()){//暂停播放mediaPlayer.pause();//记录当前播放的位置position = mediaPlayer.getCurrentPosition();}}//停止播放public void stopMusic(){if(mediaPlayer != null){//停止播放mediaPlayer.stop();//释放资源mediaPlayer.release();}}public class MyBinder extends Binder{public MyPlayMusicService getService(){return MyPlayMusicService.this;}}}
0 0
- 简单Service后台音乐播放
- Service后台播放音乐
- Service后台播放音乐
- android Service后台播放音乐
- 利用service实现音乐的后台播放
- android音乐后台播放需要用到Service
- Android通过Service实现音乐后台播放
- android组件Service控制后台音乐播放
- 安卓后台音乐播放(Service)
- 利用Service后台播放音乐实例
- 利用service实现音乐的后台播放
- Android实现后台播放音乐(Service方式)
- Android 音乐播放器,Service后台管理播放
- Android Service使用方法--简单音乐播放实例
- Android Service使用方法--简单音乐播放实例
- Android Service使用方法--简单音乐播放实例
- Android Service使用方法--简单音乐播放实例
- Android Service使用方法--简单音乐播放实例
- 大数据框架Hadoop和Spark的异同
- VFS目录树
- 278. First Bad Version-LeetCode(查找第一个最坏版本)
- Android studio 自定义打包APK名称
- Mac环境下Android Studio jni开发调用 javah编译不了头文件问题
- 简单Service后台音乐播放
- 面试干货——年底干货大放送,你准备好了吗?
- win764位8G内存下固态硬盘性能低,4k随机读写慢如何解决
- Spring mvc 原理浅析
- SetPriorityClass
- Java中的几种引用类型:强引用、软引用、弱引用和虚引用
- fmdb小示例(简单做个笔记)
- @PATHVARIABLE和@REQUESTPARAM的区别,@SESSIONATTRIBUTES
- 288