我必须使用avplayer播放一个mp3文件,但是当我去背景时它会停止,我如何保持它在背景状态下播放。任何建议都将受到高度赞赏。 感谢。
答案 0 :(得分:8)
在您的plist中添加一个方法,例如: -
或代码:
<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键包含音频值时,系统的 媒体框架自动阻止相应的应用程序 当它移动到后台时被暂停。只要是 播放音频或视频内容或录制音频内容,应用程序 继续在后台运行。但是,如果录制或播放 停止,系统暂停应用程序。