首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >完成时AVPlayerViewController淡出

完成时AVPlayerViewController淡出
EN

Stack Overflow用户
提问于 2016-02-24 16:48:37
回答 1查看 1K关注 0票数 1

我使用AVPlayerViewController,我想要在视频结束时淡出...我可以捕获视频结束事件,并且我可以为AVPlayer编写代码,但不能为AVPlayerViewController编写代码。

代码语言:javascript
复制
self.playerItem = AVPlayerItem(URL: videoURL)
self.player = AVPlayer(playerItem: self.playerItem)
self.playerLayer = AVPlayerLayer(player: self.player)
self.streamPlayer =  AVPlayerViewController()
self.streamPlayer.player = self.player
self.streamPlayer.view.frame = CGRect(x: 128, y: 222, width: 512, height: 256)

这段代码也可以工作,但是是全屏的--我不想全屏...

代码语言:javascript
复制
//self.presentViewController(self.streamPlayer, animated: true) {
//   self.streamPlayer.player!.play()
//}

我用这个?

代码语言:javascript
复制
self.view.addSubview(self.streamPlayer.view)
self.streamPlayer.player!.play()

事件捕获..

代码语言:javascript
复制
override func viewWillAppear(animated: Bool) {
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "finishedPlaying:", name: AVPlayerItemDidPlayToEndTimeNotification, object: playerItem)
}

事件代码...

函数finishedPlaying(myNotification:NSNotification) {

代码语言:javascript
复制
    let fadeOut = CABasicAnimation(keyPath: "opacity")
    fadeOut.fromValue = 1.0
    fadeOut.toValue = 0.0
    fadeOut.duration = 8.0
    fadeOut.delegate = self
    fadeOut.setValue("video", forKey:"fadeOut")
    fadeOut.removedOnCompletion = false
    fadeOut.fillMode = kCAFillModeForwards

这一行与AVPlayerViewController无关/与AVPlayer它淡出很好吗?

代码语言:javascript
复制
    playerLayer.addAnimation(fadeOut, forKey: nil)

这只是删除了AVPlayerViewController,如果我不能让它工作,计划B!

代码语言:javascript
复制
    //self.streamPlayer.view.removeFromSuperview()
    print("VIDEO finished")
}
EN

回答 1

Stack Overflow用户

发布于 2016-06-11 00:28:03

AVPlayerViewController有它自己的AVPlayerLayer,并且不知道您创建的AVPlayerLayer。因此,行playerLayer.addAnimation(fadeOut,forKey: nil)不起作用。您应该设置或动画AVPlayerViewController视图的alpha值。对于淡入淡出动画,您可能需要查看+ at查看animateWithDuration:(...)方法,并在完成处理程序中调用self.streamPlayer.view.removeFromSuperview()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35597304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档