• 故宫文创产品在韩国展出 2019-05-26
  • 明清家具风格差异(知闻) 2019-05-26
  • 【每日最陕西】NO.1449 西安幼升小反映问题是去年近3倍 上学难层出不穷 2019-05-26
  • 美国发起贸易战,我们要让世界知道美元、美债并不可靠 2019-05-25
  • 新一轮中美北京经贸谈判释放了什么信号 2019-05-25
  • 您访问的页面找不回来了 2019-05-25
  • 小区麻将馆 何时不扰民 2019-05-24
  • 端午节期间济南增开20.5对热门方向列车 2019-05-24
  • 借“谈心”暗示罪犯行贿!“80后”监狱指导员沦为阶下囚 2019-05-23
  • 你读过的教科书没有给你讲过共产主义,所以你也不知道共产主义社会的核心内容是什么。[微笑][微笑] 2019-05-23
  • 电子商务法草案三审:微商纳入经营者范围,个人二手转让不算 2019-05-23
  • 2018年东南大学将继续推进“金钥匙计划”与国际化办学 2019-05-23
  • 前所未见的“苏州雪景”大片 怎一个美字了得 2019-05-22
  • 淮北市:“智慧城管+”综合治理新模式 2019-05-22
  • 新科欧洲状元 五盾军团能否延续法兰西之夏荣耀 2019-05-22
  • 六合图库财神 >Android相关

    安卓后台?;詈诳萍?播放无声音乐

    2018-12-06 17:26 编辑: 米米狗 分类:Android相关 来源:开源中国

    1、准备一段无声的音频,新建一个播放音乐的Service类,将播放模式改为无限循环播放。在其onDestroy方法中对自己重新启动。

    public class PlayerMusicService extends Service {    private final static String TAG = PlayerMusicService.class.getSimpleName();    private MediaPlayer mMediaPlayer;    @Nullable
        @Override
        public IBinder onBind(Intent intent) {        return null;
        }    @Override
        public void onCreate() {        super.onCreate();
            Logger.d(TAG, TAG + "---->onCreate,启动服务");
            mMediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.silent);
            mMediaPlayer.setLooping(true);
        }    @Override
        public int onStartCommand(Intent intent, int flags, int startId) {        new Thread(new Runnable() {            @Override
                public void run() {
                    startPlayMusic();
                }
            }).start();        return START_STICKY;
        }    private void startPlayMusic() {        if (mMediaPlayer != null) {
                Logger.d(TAG, "启动后台播放音乐");
                mMediaPlayer.start();
            }
        }    private void stopPlayMusic() {        if (mMediaPlayer != null) {
                Logger.d(TAG, "关闭后台播放音乐");
                mMediaPlayer.stop();
            }
        }    @Override
        public void onDestroy() {        super.onDestroy();
            stopPlayMusic();
            Logger.d(TAG, TAG + "---->onCreate,停止服务");        // 重启自己
            Intent intent = new Intent(getApplicationContext(), PlayerMusicService.class);
            startService(intent);
        }
    }

    2、 在?;畹腄ownloadServie服务类的onCreate方法中对PlayerMusicService进行启动

     Intent intent = new Intent(this, PlayerMusicService.class);
     startService(intent);

    3、在Manifest文件中进行注册

      <service
                android:name=".service.PlayerMusicService"
                android:enabled="true"
                android:exported="true"
                android:process=":music_service" />
    搜索CocoaChina微信公众号:CocoaChina
    微信扫一扫
    订阅每日移动开发及APP推广热点资讯
    公众号:
    CocoaChina
    我要投稿   收藏文章
    上一篇:不使用第三方框架编写的多线程断线续传功能
    我来说两句
    发表评论
    您还没有登录!请登录注册
    所有评论(0

    综合评论

    相关帖子

    sina weixin mail 回到顶部
  • 故宫文创产品在韩国展出 2019-05-26
  • 明清家具风格差异(知闻) 2019-05-26
  • 【每日最陕西】NO.1449 西安幼升小反映问题是去年近3倍 上学难层出不穷 2019-05-26
  • 美国发起贸易战,我们要让世界知道美元、美债并不可靠 2019-05-25
  • 新一轮中美北京经贸谈判释放了什么信号 2019-05-25
  • 您访问的页面找不回来了 2019-05-25
  • 小区麻将馆 何时不扰民 2019-05-24
  • 端午节期间济南增开20.5对热门方向列车 2019-05-24
  • 借“谈心”暗示罪犯行贿!“80后”监狱指导员沦为阶下囚 2019-05-23
  • 你读过的教科书没有给你讲过共产主义,所以你也不知道共产主义社会的核心内容是什么。[微笑][微笑] 2019-05-23
  • 电子商务法草案三审:微商纳入经营者范围,个人二手转让不算 2019-05-23
  • 2018年东南大学将继续推进“金钥匙计划”与国际化办学 2019-05-23
  • 前所未见的“苏州雪景”大片 怎一个美字了得 2019-05-22
  • 淮北市:“智慧城管+”综合治理新模式 2019-05-22
  • 新科欧洲状元 五盾军团能否延续法兰西之夏荣耀 2019-05-22