【发布时间】:2012-01-01 17:42:58
【问题描述】:
我有一个在.plist 中配置了App plays audio 和App provides Voice over IP services 选项的应用程序。
应用程序正在接收套接字事件(即使在后台),并且对于这些事件,播放声音。当应用程序在前台时,一切正常。当应用在后台时,应用被触发,播放器的播放方法被调用,但是没有声音。
我尝试了许多来自 Internet 的示例代码,但没有任何效果。我尝试在前台开始播放声音,然后在后台移动我的应用程序,它正在工作。
应用在后台时开始播放声音有什么问题?
这是我的应用在后台触发时处理事件的代码:
NSError *error;
NSURL *audioFileLocationURL = [[NSBundle mainBundle] URLForResource:@"HeadspinLong" withExtension:@"caf"];
if (audioPlayer != nil) return;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFileLocationURL error:&error];
audioPlayer.delegate=self;
if (error) {
NSLog(@"%@", [error localizedDescription]);
}
audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioSession setActive: YES error: &error];
audioSession.delegate=self;
if (error) {
NSLog(@"");
}
【问题讨论】:
标签: ios audio background avaudioplayer playback