当用户想要使用你的应用程序时,是否有任何方法可以淡化iPod音乐等声音?
感谢。
答案 0 :(得分:4)
一些快速示例代码可以执行此操作(当您的应用变为活动状态或启动时从某处调用,并且不要忘记链接到AVFoundation框架):
#import <AVFoundation/AVAudioSession.h>
// ...
- (void)setupAudioSession
{
NSError* error = nil;
AVAudioSession* session = [AVAudioSession sharedInstance];
// see documentation for delegate methods you should handle
[session setDelegate:self];
// This category will duck and cancel background category, but can be configured
// later for mixing if you want (making it pretty versatile); see documentation
// on categories for other options
if( ![session setCategory:AVAudioSessionCategoryPlayback error:&error] ) {
// handle error
NSLog(@"Error setting audio category: %@, %@", error, [error userInfo]);
}
if( ![session setActive:YES error:&error] ) {
// handle error
NSLog(@"Error setting audio session as active: %@", error);
}
}
答案 1 :(得分:2)
如果您配置并激活应用程序将播放声音的某些音频会话类型(请参阅Apple的音频会话参考),操作系统将淡出当前使用音频输出的任何后台应用程序的声音,以便您的应用程序将具有可用资源。