我使用AVAudioPlayer在我的应用程序中播放声音,但是当声音播放时它会关闭iPod。
有没有办法防止这种情况发生?我不想使用System Sounds,因为我无法控制它们的音量。
感谢您的帮助。
答案 0 :(得分:15)
这应该对你有用(取自我的Ambiance应用程序)
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
UInt32 doSetProperty = 1;
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(doSetProperty), &doSetProperty);
[[AVAudioSession sharedInstance] setActive: YES error: nil];
来自文档:
kAudioSessionProperty_OverrideCategoryMixWithOthers 改变了混合行为 kAudioSessionCategory_MediaPlayback 和 kAudioSessionCategory_PlayAndRecord 音频会话类别。设置这个 属性为TRUE(任何非零值) 允许混合iPod音频 应用音频。其他方面 这些类别,如他们的 响铃/静音开关行为,不是 影响。
此属性的值为FALSE(0) 默认情况下。当音频会话 类别更改,例如在 中断,这个的价值 属性恢复为FALSE。重新获得 然后必须重新设置混合行为 这个属性。
请务必检查是否设置此项 财产成功或失败,并做出反应 适当的;行为可能会改变 未来的iPhone OS版本。
适用于iPhone OS 3.0及更高版本。
在AudioServices.h中声明。