【发布时间】:2013-08-29 06:04:26
【问题描述】:
我已阅读 许多 篇关于此主题的文章/帖子,但我仍然无法在屏幕锁定时播放声音。
在 viewDidLoad 中,我初始化了音频会话并将音频属性设置为 kAudioSessionCategory_MediaPlayback:
AudioSessionInitialize(NULL, NULL, interruptionListenerCallback, self);
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
然后我初始化我的 AVAudioPlayer 变量(audioPlayer):
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource: @"click" ofType: @"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: &error];
[fileURL release];
我在 info.plist 的“必需的背景模式”部分添加了“应用程序播放音频”。
我将 AVAudioPlayerDelegate 和 AVAudioSessionDelegate 添加到我的视图控制器的 *.h 文件中(虽然我不知道这是否有必要)。
我会定期播放(非常短的)声音(每秒约 1 次):
[audioPlayer play]
屏幕解锁时声音播放正常,但锁定时停止播放。然后当我解锁屏幕时,播放(排队的)声音。
想法?谢谢!
【问题讨论】:
-
App plays audio...?你从哪里得到那个字符串的?这不是所需背景模式的正确值...
标签: ios avaudioplayer