如何使用Native Music Player播放音乐?

时间:2014-01-23 10:45:16

标签: android android-intent android-service android-music-player

我正在创建一个应用程序,我已经创建了一个从URL播放音乐的服务。问题是,当用户使用原生音乐播放器播放任何歌曲时,我的音乐服务正在正确播放音乐 BUT ,然后BOTH(Native Player和我的音乐服务)同时播放音乐。当用户开始使用本机播放器播放音乐时,我想停止使用我的音乐服务。

  • 是否有任何广播Intent,我可以注册以检测 音乐播放器已启动?

  • 是否可以检测音乐播放器已启动?

  • 任何其他解决方案?

任何建议都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

我会建议采用不同的方法,我认为这是正确的做法。

您的方法的问题是您建议检查一个特定的应用程序。而且有大量不同的音乐播放器,加上广播播放器,视频播放器以及游戏......所有这些都应该阻止你的音乐,以防他们想要播放。

那你怎么做?

所有这些都在Android Developers website中解释过。 您必须注册OnAudioFocusChangeListener,因此,每当有不同的应用请求获得音频焦点时,您的应用都可以停止播放音乐。

答案 1 :(得分:0)

第1步:检测用户是否已打开原生音乐应用。为此,您需要知道原生音乐应用包名称

然后在这里参考我的答案:Android how to know an app has been started and range apps priority according the starting times

使用它,列表 taskinfo 将包含所有正在运行的活动的列表,如上所述,列表的第一个元素将是前景中的活动。

第2步:使用第1步检测原生音乐应用时(通过在后台轮询),然后停止你的应用程序的服务。

注意:您应该在后台(使用 asynctask )或其他服务执行此操作。

注意2 :此方法的局限性在于,当用户点击原生音乐应用中的播放时,您实际上无法停止音乐播放器,因为此方法将帮助您检测本机音乐应用程序是否打开