iPhone锁定后继续播放音频

时间:2012-01-19 02:11:38

标签: ios objective-c audio playback lockscreen

如果在自动锁定或用户锁定手机时如何在iPhone中继续播放音频?

我已经尝试了

session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:NULL];

但这似乎不起作用。

2 个答案:

答案 0 :(得分:1)

我终于想出了如何做到这一点!

首先,将这些框架包含在您的项目中:AudioToolbox,CoreAudio,MediaPlayer和AVFoundation。将它们全部导入到放置播放器的viewController中。分配并开始播放音频后,插入以下代码:

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);
AudioSessionSetActive(true);

最后,转到您的应用Info.plist文件并添加一行名为UIBackgroundModes的行。新行将是一个数组,将包含1项,项目0.对此,您只需将值设置为音频。而且你已经完成了!享受你的背景音频播放应用程序!

答案 1 :(得分:0)

This link应该有帮助。

您需要阻止应用进入深度睡眠模式:

UInt32 category = kAudioSessionCategory_MediaPlayback;
OSStatus result = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
                                                                            sizeof(category), &category);

if (result){
    DebugLog(@"ERROR SETTING AUDIO CATEGORY!\n");
}

result = AudioSessionSetActive(true);
if (result) {
    DebugLog(@"ERROR SETTING AUDIO SESSION ACTIVE!\n");
}