【问题标题】:iOS AVAudioPlayer sound stops playing when screen is locked屏幕锁定时iOS AVAudioPlayer声音停止播放
【发布时间】: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


【解决方案1】:

问题似乎是我在屏幕被锁定后开始播放声音。这主要是在How to play sounds in locked mode on iPhone 中回答的。

【讨论】:

    【解决方案2】:

    感谢孔克斯:

    我收到了来自http://mobile.tutsplus.com/tutorials/iphone/ios-sdk_background-audio/ 的“应用播放音频”。

    如果您将带有 UIBackgroundModes 的行添加到 plist,它会自动填充并包括此背景模式和其他六种背景模式。如果你用谷歌搜索“应用播放音频”和 UIBackgroundModes,你会看到很多点击。

    [我会通过评论而不是答案来回复,但可惜我没有声誉。]

    【讨论】:

    • FWIW,这是关于“应用播放音频”的 StackOverflow 帖子stackoverflow.com/questions/3251793/…
    • 我可以告诉你正确的值是audio每次查看Apple官方网站:developer.apple.com/library/ios/documentation/iphone/conceptual/…,它描述得很好。
    • Xcode 使用“应用播放音频”、“应用注册位置更新”、“应用提供 IP 语音服务”等填充列表。如果我尝试输入“音频”,它会立即更改到“应用播放音频”
    • 哦,我刚刚使用 Pref Setter 打开了我的 plist 文件,它显示为“音频”。 Xcode 必须显示“应用程序播放音频”并保存“音频”。无论如何,我想我找错人了。
    猜你喜欢
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多