我正在使用Avplayer显示视频剪辑,当我返回(后台的应用程序)视频停止。怎样才能继续播放视频?
我已经搜索了后台任务和后台线程,IOS只支持背景音乐(不支持视频) http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html
下面是一些关于在后台播放视频的讨论
1) https://discussions.apple.com/thread/2799090?start=0&tstart=0
2) http://www.cocoawithlove.com/2011/04/background-audio-through-ios-movie.html
但是在AppStore中有很多应用程序可以在后台播放视频,比如
Swift播放器:https://itunes.apple.com/us/app/swift-player-speed-up-video/id545216639?mt=8&ign-mpt=uo%3D2
SpeedUpTV:https://itunes.apple.com/ua/app/speeduptv/id386986953?mt=8
发布于 2013-03-22 14:53:16
此方法支持所有可能性:
只要您有一个运行iOS的AVPlayer实例,就可以防止设备自动锁定。
首先,您需要将应用程序配置为支持来自音频文件的音频背景,并在UIBackgroundModes数组中添加Info.plist元素。
然后把你的AppDelegate.m放入
- (BOOL)应用程序:(UIApplication*)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions:
这些方法
[[AVAudioSession sharedInstance] setDelegate: self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];和#导入< AVFoundation/AVFoundation.h >
然后在控制AVPlayer的视图控制器中
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}和
- (void)viewWillDisappear:(BOOL)animated
{
[mPlayer pause];
[super viewWillDisappear:animated];
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
}然后响应
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
switch (event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
if([mPlayer rate] == 0){
[mPlayer play];
} else {
[mPlayer pause];
}
break;
case UIEventSubtypeRemoteControlPlay:
[mPlayer play];
break;
case UIEventSubtypeRemoteControlPause:
[mPlayer pause];
break;
default:
break;
}
}如果用户按下home按钮,则需要另一个技巧来恢复再现(在这种情况下,再现以淡出暂停)。
当你控制视频的再现时(我有播放方法)设置
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil];以及要调用的将启动计时器并恢复再现的相应方法。
- (void)applicationDidEnterBackground:(NSNotification *)notification
{
[mPlayer performSelector:@selector(play) withObject:nil afterDelay:0.01];
}在Backgorund中播放视频对我来说很有效。感谢所有人。
发布于 2013-03-18 13:56:07
如果您尝试更改后台模式:对不起,应用商店不会批准。MPMoviePlayerViewController playback video after going to background for youtube
在我的研究中,当视频进入后台时,会有人拿出音轨在后台播放,因为视频会暂停,当进入前台时,会获得重新播放的回放时间
发布于 2013-03-22 13:42:47
无法使用Avplayer播放背景音乐/视频。但也可以使用
MPMoviePlayerViewController。我已经在我的一个应用程序中使用这个播放器&这个应用程序做到了这一点
已成功运行到appstore。
https://stackoverflow.com/questions/15470452
复制相似问题