【问题标题】:How to check if external media player is playing in android?如何检查外部媒体播放器是否在 android 中播放?
【发布时间】:2017-12-07 13:42:53
【问题描述】:

如果外部媒体播放器正在播放,我想停止我的媒体播放器。

我已经实现了以下代码,但即使在我的应用媒体播放器正在播放时也会调用它。

if (audioManager.isMusicActive()) {
                    return;
                }

如何区分应用内媒体播放器和外部媒体播放器?

任何帮助将不胜感激。

【问题讨论】:

标签: android media-player


【解决方案1】:

两个或多个 Android 应用可以将音频播放到同一个输出流 同时。该系统将所有内容混合在一起。虽然这是 在技​​术上令人印象深刻,它可能会让用户非常恼火。避免 每个音乐应用同时播放,Android 引入了这个想法 的音频焦点。一次只有一个应用可以保持音频焦点。

进一步,

一个表现良好的音频应用应该根据这些来管理音频焦点 一般准则:

在开始播放之前立即调用 requestAudioFocus() 并 验证调用是否返回 AUDIOFOCUS_REQUEST_GRANTED。如果你设计 正如我们在本指南中描述的那样,您的应用程序调用 requestAudioFocus() 应该在媒体会话的 onPlay() 回调中进行。什么时候 另一个应用程序获得音频焦点,停止或暂停播放,或躲避 音量减小。当播放停止时,放弃音频焦点。音频焦点是 处理方式不同,具体取决于所使用的 Android 版本 运行:

您可以查看开发者link的更多详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    相关资源
    最近更新 更多