我快到了,但有一个问题.我的电影以视图中的视图开始.在全屏播放时我希望它在完成播放后跳回到全屏.但我不知道怎么做.这是我的代码:
- (voID)vIEwDIDLoad {// grab a local URL to our vIDeoNSURL *vIDeoURL = [[NSBundle mainBundle]URLForResource:@"movIE" withExtension:@"m4v"];// create an AVPlayerAVPlayer *player = [AVPlayer playerWithURL:vIDeoURL];// create a player vIEw controllerself.controller = [[AVPlayerVIEwController alloc]init];controller.player = player;[player play];// show the vIEw controller[self addChildVIEwController:controller];[self.vIEw addSubvIEw:controller.vIEw];controller.vIEw.frame = CGRectMake(0,25,750,422);[[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(itemDIDFinishPlaying:) name:AVPlayerItemDidplayToEndTimeNotification object:player];}
使用MPMovIEPlayer,它曾使用此代码:
- (voID) playerPlaybackDIDFinish:(NSNotification*)notification{// movIE finished playing[movIEPlayerController setFullscreen:NO];}
我需要用什么代码来替换它?
-(voID)itemDIDFinishPlaying:(NSNotification *) notification {// Will be called when AVPlayer finishes playing playerItem ???????????}
谢谢,梅格
解决方法 #iOS 10及更高版本和Swift 4.2这段代码正在运行.在您的播放器初始化方法中编写此代码
if #available(iOS 11.0,*) { self.playerVC?.exitsFullScreenWhenPlaybackEnds = true }NotificationCenter.default.addobserver(self,selector: #selector(self.playerItemDIDReachEnd(notification:)),name: .AVPlayerItemDidplayToEndTime,object:self.playerVC?.player!.currentItem)
这是你的通知代表
func playerItemDIDReachEnd(note:NSNotification){ print("finished") dismissVIEwControllerAnimated(true,completion: nil) }总结
以上是内存溢出为你收集整理的ios – AVPlayerViewController一旦播放就退出全屏全部内容,希望文章能够帮你解决ios – AVPlayerViewController一旦播放就退出全屏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)