我正在编写一个 Android 音乐播放器,并且卡在音频焦点问题上。
似乎音频焦点主要影响媒体按钮接收,但在阅读文档后,我不知道何时获得和放弃焦点。
我的音乐应用程序将在后台运行,并且每次都需要检测播放/暂停按钮。也就是说,即使我的应用程序没有运行,用户也应该能够按下耳机的播放按钮并开始播放音乐。
看来我永远不应该放弃音频焦点,那我为什么要实现它呢?
有谁知道应该如何使用音频焦点?谢谢!
我正在编写一个 Android 音乐播放器,并且卡在音频焦点问题上。
似乎音频焦点主要影响媒体按钮接收,但在阅读文档后,我不知道何时获得和放弃焦点。
我的音乐应用程序将在后台运行,并且每次都需要检测播放/暂停按钮。也就是说,即使我的应用程序没有运行,用户也应该能够按下耳机的播放按钮并开始播放音乐。
看来我永远不应该放弃音频焦点,那我为什么要实现它呢?
有谁知道应该如何使用音频焦点?谢谢!
似乎音频焦点主要影响媒体按钮接收,但在阅读文档后,我不知道何时获得和放弃焦点。
它们都是独立的功能,因此具有独立的侦听器。您可能会失去音频焦点,但您仍然可以选择响应播放暂停硬件键
也就是说,即使我的应用程序没有运行,用户也应该能够按下耳机的播放按钮并开始播放音乐。
我假设您上面的意思是您仍在播放音乐但没有显示活动。要继续收听硬件按钮按下,请不要取消注册您的媒体按钮接收器(不要打电话audioManager.unregisterMediaButtonEventReceiver(receiver)
)。
看来我永远不应该放弃音频焦点,那我为什么要实现它呢?
你不放弃焦点,它会从你身上夺走。为了优雅地处理这个问题,你有 AudioFocus 监听器。例如,考虑一个来电。你还想继续播放你的音乐吗?