playerLayer.vIDeoGravity = kCAGravityResizeAspectFill
应该做Aspect Fill,但我仍然会在屏幕的顶部和底部出现黑条.
最后一行应该循环视频,但它只是变暗并停止播放.
任何建议表示赞赏.
var movIEPlayer: AVPlayer!overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Load the vIDeo from the app bundle. let vIDeoURL: NSURL = NSBundle.mainBundle().URLForResource("vIDeo",withExtension: "mp4")! self.movIEPlayer = AVPlayer(URL: vIDeoURL) self.movIEPlayer.muted = true let playerLayer = AVPlayerLayer(player: self.movIEPlayer) playerLayer.vIDeoGravity = kCAGravityResizeAspectFill //this not working playerLayer.zposition = -1 playerLayer.frame = self.vIEw.frame self.vIEw.layer.addSublayer(playerLayer) self.movIEPlayer.play() // Loop vIDeo. NSNotificationCenter.defaultCenter().addobserver(self,selector: "loopVIDeo",name: AVPlayerItemDidplayToEndTimeNotification,object: self.movIEPlayer)}func loopVIDeo() { self.movIEPlayer.play()}解决方法 您使用错误的视频重力值请更改为:
playerLayer.vIDeoGravity = AVLayerVIDeoGravityResizeAspectFill;
请注意,此值适用于视频,其中您使用的值用于重新缩放图像.
为了让你的视频循环播放,你刚刚忘记在完成播放后回放视频.我不使用swift但是在Objc C中你的loopVIDeo函数看起来像这样:
-(voID) loopVIDeo { [self.movIEPlayer seektotime:kCMTimeZero]; [self.movIEPlayer play];}总结
以上是内存溢出为你收集整理的ios – 使用AVPlayer在后台播放视频会产生AspectFill和循环问题全部内容,希望文章能够帮你解决ios – 使用AVPlayer在后台播放视频会产生AspectFill和循环问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)