想要在应用程序进入后台时保持AVPlayer播放

时间:2014-01-15 06:07:53

标签: iphone ios7 xcode4 avplayer avaudiosession

我必须使用avplayer播放一个mp3文件,但是当我去背景时它会停止,我如何保持它在背景状态下播放。任何建议都将受到高度赞赏。  感谢。

4 个答案:

答案 0 :(得分:8)

在您的plist中添加一个方法,例如: -

enter image description here

或代码:

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
</array>

答案 1 :(得分:7)

要在后台播放AVPlayer,您必须按照以下步骤操作:

1) to add "Required background modes" property in info.plist,with value "App plays audio or streams audio/video using AirPlay"

2)to import below in AppDelegate.h file:

 #import <AVFoundation/AVFoundation.h>
 #import <AudioToolbox/AudioToolbox.h>

3)in your AppDelegate.m ,
application didFinishLaunchingWithOptions this exactly like below:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
// Override point for customization after application launch.

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

return YES;
}

答案 2 :(得分:3)

您应该阅读Technical Q&A 1668使用iOS上的AV Foundation 在后台播放媒体。在其中,Apple提供了如何使用AVPlayer在后台播放媒体的示例,并讨论了您可能遇到的潜在问题。

答案 3 :(得分:1)

来自我在评论中发布的文档:

  

连续播放或录制音频的应用程序(即使应用程序在后台运行)也可以注册以在后台执行这些任务。您可以从Xcode项目的Capabilities选项卡的Background modes部分启用音频支持。 (您也可以通过在应用的Info.plist文件中包含带有音频值的UIBackgroundModes键来启用此支持。)在后台播放音频内容的应用必须播放可听内容而不是静音。

...

  

当UIBackgroundModes键包含音频值时,系统的   媒体框架自动阻止相应的应用程序   当它移动到后台时被暂停。只要是   播放音频或视频内容或录制音频内容,应用程序   继续在后台运行。但是,如果录制或播放   停止,系统暂停应用程序。

App States and Multitasking Guide