iOS应用程序中AVAudioPlayer和MPMusicPlayerController的独立音量控制。

在我的应用程序中,我正在使用AVAudioPlayer播放下载的音频,同时使用MPMusicPlayerController从用户的iPod音乐库播放音频。

我需要能够调整AVAudioPlayer实例的音量,使其比来自MPMusicPlayerController的音频更响亮。

问题是,当我调整AVAudioPlayer的Volume属性时,它还会调整MPMusicPlayerController的音量。

有没有任何解决方案可以让我独立控制这两个球员的数量?

如果没有,我应该使用另一种技术来做到这一点吗? 任何帮助表示赞赏。

看一下AVAudioSession的文档。 例如,在AVAudioSession编程指南中 ,说明如下:

“最后,您可以增强一个类别,以便在播放音频时自动降低其他音频的音量。例如,这可以在练习应用程序中使用。假设当您的应用程序想要覆盖时,用户正在练习iPod一个口头信息 – 例如,“你已经划船了10分钟。”为了确保你的应用程序中的消息是可理解的,将kAudioSessionProperty_OtherMixableAudioShouldDuck属性应用到你的音频会话。当发生躲避时,设备上的所有其他音频 – 除了电话音量降低之外。“

我认为它可以解决你的问题。 初始化AVAudioSession并设置其类别和属性的文档非常清晰且易于理解; 你应该没有问题。