我的应用程序App plays audio
配置了App provides Voice over IP services
和.plist
个选项。
应用程序正在接收套接字事件(即使在后台)并且关于事件,播放声音。当应用程序在前台时,一切正常。当应用程序处于后台时,触发应用程序,调用播放器的播放方法,但没有声音。
我尝试过很多来自互联网的示例代码,但没有任何工作。我试图在前台播放声音,然后在后台移动我的应用程序,它正在运行。
当应用在后台时开始播放声音有什么问题?
这是在我的应用程序在后台触发时处理事件的代码:
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(@"");
}
答案 0 :(得分:0)
似乎是一个显而易见的问题,但您实际上是在实际应用程序中的play
对象上调用audioPlayer
方法吗?可能在后台事件处理程序的末尾?
即。 [audioPlayer play];
答案 1 :(得分:0)
根据我的理解,当应用程序处于后台时,似乎无法开始播放音乐...只能继续在后台播放现有的播放音乐