应用程序在后台播放音频或声音

时间:2013-07-22 17:00:14

标签: ios audio background avqueueplayer

嗨我有一个使用位置服务的计步器应用程序留在后台,现在我需要每1000步播放一次哔声。

我正试着这样玩:

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
BOOL success = [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];

NSURL *audioFileLocationURL = [[NSBundle mainBundle] URLForResource:@"beep" withExtension:@"mp3"];

success = [audioSession setActive:YES error:nil];
AVPlayerItem * item = [[AVPlayerItem alloc] initWithURL:audioFileLocationURL];
queuePlayer = [[AVQueuePlayer alloc] initWithItems:@[item]];

[queuePlayer play];

但是它没有播放,如果我在应用程序位于前台时运行此代码,它确实会播放,但是我在后台运行它时它没有任何效果。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我仍然不明白为什么,但我设法让它发挥作用。

我需要做的是在应用程序处于活动状态时播放音乐(静音),然后暂停播放。

完成此操作后,如果我在后台恢复播放,一切正常。