2

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

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

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

有什么解决方案可以让我独立控制这两个播放器的音量吗?

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

4

1 回答 1

6

查看 AVAudioSession 的文档。例如,在AVAudioSession Programming Guide中,说如下:

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

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

于 2011-07-29T10:32:14.507 回答