AVAudioPlayer在后台播放

Sag*_*ian 1 iphone background-process avaudioplayer ios

根据我们的要求,即使应用程序处于后台,我们也需要播放声音.我们使用[AVAudioPlayer Play]的目的是播放声音.

如果应用程序在前台,它可以工作.但是如果应用程序在后台并且我们也在音乐播放器中播放歌曲然后控制进入[AVAudioPlayer Play]声明,则没有任何反应.

我们已经经历了很多链接,在plist中添加了背景模式并且还添加了 [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];但事情没有成功.

请建议是否还有其他选择.

Moh*_*mar 11

只需在初始化AVAudioPlayer实例的位置添加以下三行:

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"mySong" ofType:@"mp3"]];

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];

// These lines need to be added:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

[audioPlayer play];
Run Code Online (Sandbox Code Playgroud)