1

我正在编写一个 Android 音乐播放器,并且卡在音频焦点问题上。

似乎音频焦点主要影响媒体按钮接收,但在阅读文档后,我不知道何时获得和放弃焦点。

我的音乐应用程序将在后台运行,并且每次都需要检测播放/暂停按钮。也就是说,即使我的应用程序没有运行,用户也应该能够按下耳机的播放按钮并开始播放音乐。

看来我永远不应该放弃音频焦点,那我为什么要实现它呢?

有谁知道应该如何使用音频焦点?谢谢!

4

1 回答 1

1

似乎音频焦点主要影响媒体按钮接收,但在阅读文档后,我不知道何时获得和放弃焦点。

它们都是独立的功能,因此具有独立的侦听器。您可能会失去音频焦点,但您仍然可以选择响应播放暂停硬件键

也就是说,即使我的应用程序没有运行,用户也应该能够按下耳机的播放按钮并开始播放音乐。

我假设您上面的意思是您仍在播放音乐但没有显示活动。要继续收听硬件按钮按下,请不要取消注册您的媒体按钮接收器(不要打电话audioManager.unregisterMediaButtonEventReceiver(receiver))。

看来我永远不应该放弃音频焦点,那我为什么要实现它呢?

你不放弃焦点,它会从你身上夺走。为了优雅地处理这个问题,你有 AudioFocus 监听器。例如,考虑一个来电。你还想继续播放你的音乐吗?

于 2012-09-03T09:09:35.733 回答