当我启动iPhone游戏时,背景音乐或播客就会停止播放。我注意到其他游戏允许背景音频继续播放。
这怎麽可能?我需要重写App Delegate中的方法吗?
发布于 2013-01-02 20:55:37
将这一行放在AppDelegate的application:didFinishLaunchingWithOptions:方法中,或者一般在使用音频播放器之前。
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];根据文档,AVAudioSessionCategoryAmbient类别是
用于声音播放是非主要的应用程序-即,您的应用程序可以在关闭声音的情况下成功使用。
这一类别也适用于“播放”风格的应用程序,例如用户通过iPod音频播放的虚拟钢琴。当您使用此类别时,来自其他应用程序的音频与您的音频混合。您的音频被屏幕锁定和静音开关(在iPhone上称为振铃/静音开关)静音。
如果您还希望确保没有发生错误,则必须检查返回值
NSError *error;
BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];
if (!success) {
//Handle error
NSLog(@"%@", [error localizedDescription]);
} else {
// Yay! It worked!
}最后,不要忘记将AVFoundation框架链接到您的项目并导入它。
#import <AVFoundation/AVFoundation.h>https://stackoverflow.com/questions/14122363
复制相似问题