我注意到一些应用程序在启动时以编程方式静音itunes(如果它正在运行)。这是如何实现的?我有一个带背景音乐的游戏,想要停止itunes或至少得到一条消息,itunes正在播放,以便我可以停止游戏的背景音乐。
THX, 渣。
答案 0 :(得分:8)
你不需要。使用音频会话,您可以决定音频的行为方式。
来自Audio Session Programming Guide:
使用音频会话界面,您 指定应用程序的各个方面 音频行为并将其配置为 在iPhone内和谐共处 音频环境。你先问问 你自己这样的问题:
您想要通过振铃/静音开关使您的音频静音吗? 如果音频,答案可能是“是” 使用你的并不是必不可少的 申请成功。 (用户会 感谢能够运行你的游戏 在没有人聪明的会面中。)
您希望iPod音频在播放音频时继续播放吗? 开始?这可能适合 一个虚拟钢琴,让用户玩 和他们图书馆里的歌曲一起。 你想要iPod音频停止, 然而,对于流式广播 应用
你可能想要这个:
UInt32 sessionCategory = kAudioSessionCategory_SoloAmbientSound;
AudioSessionSetProperty (
kAudioSessionProperty_AudioCategory,
sizeof (sessionCategory),
&sessionCategory
);
有关更多行为类型,请查看Audio Session Categories,或阅读整个Audio Session Programming Guide。
答案 1 :(得分:0)
我遇到了相反的问题。我的应用程序在播放后播放一段没有声音的短视频。这导致iTunes音乐在后台播放静音。
为了保持音乐播放,我在applicationDidFinishLaunching中添加了这个:
NSError* error;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: &error];
if (error) NSLog(@"Unable to configure Audio");