我正在为iphone / ipad制作游戏,并且不希望我的背景音乐干扰用户可能已经在播放的音乐。
我知道我可以使用MPPlayerController获取iPod应用程序的状态,但是我的应用程序如何判断Pandora等其他东西是否在iOS4上播放背景音频?
答案 0 :(得分:9)
我终于弄明白了。我见过很多例子,但是无法让它们起作用。
大多数示例都没有指出类似的内容:
UInt32 propertySize, audioIsAlreadyPlaying;
propertySize = sizeof(UInt32);
AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying, &propertySize, &audioIsAlreadyPlaying);
要工作,添加到您应用程序的正确框架是AudioToolbox。我一直试图添加其他音频框架,总是错过了那个。
一旦你添加了那个框架工作(并将其导入到有问题的代码文件中),只需测试一下audioIsAlreadyPlaying是零还是一个。
答案 1 :(得分:0)
AudioSessionGetProperty
(在gotung的回答中提及)已被弃用。
相反,请尝试使用isOtherAudioPlaying:
的单行BOOL isOtherAudioPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];
适用于iOS 6 +。