原帖地址
http://www.cocoachina.com/bbs/read.php?tid-14440.html
App程序加载时,也许已经有软件在播放声音了。比如iPod,或是Safari播放流媒体。下面这段代码能在App加载前检测有没有程序在占用音频输出资源。
App程序加载时,也许已经有软件在播放声音了。比如iPod,或是Safari播放流媒体。下面这段代码能在App加载前检测有没有程序在占用音频输出资源。
UInt32 otherAudioIsPlaying; // 1
UInt32 propertySize = sizeof (otherAudioIsPlaying);
AudioSessionGetProperty ( // 2
kAudioSessionProperty_OtherAudioIsPlaying,
&propertySize,
&otherAudioIsPlaying
);
if (otherAudioIsPlaying) { // 3
[[AVAudioSession sharedInstance]
setCategory: AVAudioSessionCategoryAmbient
error: nil];
} else {
[[AVAudioSession sharedInstance]
setCategory: AVAudioSessionCategorySoloAmbient
error: nil];
}