我的应用程序使用MPMoviePlayerController播放播客。在ios4中,我用以下代码绕过了阻止播客播放的锁屏问题:
OSStatus audioInitStat = AudioSessionInitialize (NULL,NULL,NULL,NULL);
if (audioInitStat != kAudioSessionNoError) {
printf("AudioSession Failed to Initialize\n");
}
else {
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
audioInitStat = AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
}它以前的工作可能是愚蠢的幸运,但事实是,现在随着ios5的引入,电影播放器停止了屏幕锁定,而它不是在ios4中。有谁知道如何让电影播放器在屏幕锁定期间播放。我不想使用:
[[ UIApplication sharedApplication ] setIdleTimerDisabled: YES ];因为这只会杀死电池(即我想让屏幕变暗)。任何想法都将不胜感激。如果我不能使用电影播放器,你知道我是否可以使用ios的其他音频功能来播放播客?
发布于 2011-10-27 02:20:02
经过多次挖掘,我找到了一个部分解决方案:
转到你的应用的info.plist。
添加键'Required background modes‘,并将值设置为'App plays audio’;添加键'Application to in background‘,并将值设置为'YES’
我不知道这是在哪里记录的,但它是有效的。
这只是一个部分的解决方案。有了这个,音频可以在后台播放,但你不能按主页键来访问其他应用程序。当您按下主页按钮时,应用程序将终止。
发布于 2012-01-07 05:43:40
在iOS 5.x中,您需要在info.plist文件中设置两个密钥。
首先,在文件中添加一行关键字"UIApplicationExitsOnSuspend“,将值设为布尔值,并将其设置为"NO”
接下来,添加具有名为"UIBackgroundModes“的键的行
这将是一个数组,您希望第一项的值为"audio“
您可能还希望将音频会话设置为AVAudioSessionCategoryPlayback:
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];这将适用于使用MPMoviePlayerController播放的音频文件,但不适用于视频。
https://stackoverflow.com/questions/7891391
复制相似问题