iPhone:如何检测iTunes是否正在播放?

时间:2009-05-29 08:46:08

标签: iphone audio itunes

我注意到一些应用程序在启动时以编程方式静音itunes(如果它正在运行)。这是如何实现的?我有一个带背景音乐的游戏,想要停止itunes或至少得到一条消息,itunes正在播放,以便我可以停止游戏的背景音乐。

THX, 渣。

2 个答案:

答案 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");