首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ios5中锁定屏幕时MPMoviePlayerController不会播放

在ios5中锁定屏幕时MPMoviePlayerController不会播放
EN

Stack Overflow用户
提问于 2011-10-25 23:04:31
回答 2查看 1.5K关注 0票数 1

我的应用程序使用MPMoviePlayerController播放播客。在ios4中,我用以下代码绕过了阻止播客播放的锁屏问题:

代码语言:javascript
复制
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中。有谁知道如何让电影播放器在屏幕锁定期间播放。我不想使用:

代码语言:javascript
复制
[[ UIApplication sharedApplication ] setIdleTimerDisabled: YES ];

因为这只会杀死电池(即我想让屏幕变暗)。任何想法都将不胜感激。如果我不能使用电影播放器,你知道我是否可以使用ios的其他音频功能来播放播客?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-27 02:20:02

经过多次挖掘,我找到了一个部分解决方案:

转到你的应用的info.plist。

添加键'Required background modes‘,并将值设置为'App plays audio’;添加键'Application to in background‘,并将值设置为'YES’

我不知道这是在哪里记录的,但它是有效的。

这只是一个部分的解决方案。有了这个,音频可以在后台播放,但你不能按主页键来访问其他应用程序。当您按下主页按钮时,应用程序将终止。

票数 0
EN

Stack Overflow用户

发布于 2012-01-07 05:43:40

在iOS 5.x中,您需要在info.plist文件中设置两个密钥。

首先,在文件中添加一行关键字"UIApplicationExitsOnSuspend“,将值设为布尔值,并将其设置为"NO”

接下来,添加具有名为"UIBackgroundModes“的键的行

这将是一个数组,您希望第一项的值为"audio“

您可能还希望将音频会话设置为AVAudioSessionCategoryPlayback:

代码语言:javascript
复制
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

这将适用于使用MPMoviePlayerController播放的音频文件,但不适用于视频。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7891391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档