如何使用 MPMoviePlayerController 播放均匀的背景模式
Posted
技术标签:
【中文标题】如何使用 MPMoviePlayerController 播放均匀的背景模式【英文标题】:How to play even background mode using MPMoviePlayerController 【发布时间】:2012-02-15 11:24:57 【问题描述】:准备好使用 IIS7 的音频直播服务。 音频直播服务器设置很复杂,但是已经成功了。
我获得了这样的流式传输 URL (@"http://xxx.xxx.xx.xx/liveStream.isml/manifest(format=m3u8-aapl).m3u8")。
我的使用代码出乎意料的简单。
self.theURL = [NSURL URLWithString:@"http://xxx.xxx.xx.xx/liveStream.isml/manifest(format=m3u8-aapl).m3u8"];
if(moviePlayer == nil)
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theURL];
[moviePlayer play];
嗯...我无法如愿控制音乐播放器。
问题是这样的。
即使是 backgroundMode,我也不想停下来播放音乐。
请告诉我一些建议。谢谢。
【问题讨论】:
真棒问题....这就是我放弃投票的原因 【参考方案1】:请仅签入设备。我的应用程序也已签入。我的代码如下。我说的是 iOS5
在 plist 中,我创建了一个名为“Required background mode”的数组,并在数组名称中插入了一个项目,“App Plays Audio”。 有时会发生 URL 问题检查此网址MPMoviePlayer sound working in Simulators and ipad device, but not Working in iPhone Device
- (void)viewDidLoad
[super viewDidLoad];
NSError *setCategoryErr = nil;
NSError *activationErr = nil;
[[AVAudiosession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryErr];
[[AVAudioSession sharedInstance] setActive: YES error: &activationErr];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
UIBackgroundTaskIdentifier newTaskId = UIBackgroundTaskInvalid;
newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];
【讨论】:
最后两行是做什么的?他们真的让我的应用程序工作=) UIBackgroundTaskIdentifier newTaskId = UIBackgroundTaskInvalid; newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL]; 当应用程序进入后台时,应识别任务例如:obj-->“newTaskId”(最后一行)并到达最后一行,它将承担一个最重要的责任,即,当应用程序进入后台时,应用程序一直在运行,就像音频播放器@jmeinik以上是关于如何使用 MPMoviePlayerController 播放均匀的背景模式的主要内容,如果未能解决你的问题,请参考以下文章