4

在您的应用程序完成使用其会话后,恢复 ipod 或其他音频会话的播放的最佳方式是什么?

注意我已经尝试过打电话...

[_session setActive:NO
          withFlags:AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation
              error:outError];

我正在构建一个 iOS VoIP 应用程序,它使用 AVAudioSessionCategoryPlayAndRecord 作为其类别,并使用 kAudioSessionMode_VoiceChat 作为其模式。为了简化音频会话管理的处理,我有一个单例来侦听有关应用程序状态和其他重要事件的通知。但是,上面的代码似乎并没有导致音乐在 iPod 应用程序上恢复。

最后,我们还注意到双击主页按钮时屏幕底部显示的音乐控件就像我们的应用程序正在播放音频一样。然而,我们已经将其设置为非活动状态。

如果有人有任何线索,我很想了解更多关于这里发生的事情。

4

1 回答 1

0

在我看来,您无法通知 iOS 您不再需要音频会话。您确定对“setActive”的调用不会失败吗?或者可能在代码中的其他地方重新激活会话。

除此之外,一旦系统意识到您没有使用它,音乐应用程序应该能够重新获得它的音频。这可以通过第三方应用程序使用AVAudioSessionInterruptionNotification通知来完成。对于调试,您可以尝试将自己添加为观察者,看看您的回调是否被调用。因此,如果您成功停用会话,其他应用程序应该能够完成剩下的工作。

于 2014-02-10T09:49:41.927 回答