使用AVPlayer播放的video在iPhone 6S Plus的顶部和两侧都有灰线
这似乎是仅iPhone 6S Plus上的一个设备特定的错误。
脚步:
- 下载AVPlayer演示示例代码
- 调整
AVPlayerDemoPlaybackView.xib
以便MPlayback View
具有边缘 - 使内容视图颜色为白色
1px灰线将出现在顶部和两侧。
任何人都知道如何解决这个问题?
我试图把不透明的看法掩盖顶部,但线仍然会出现在不透明的观点之上!
将AVPlayerLayer
的shouldRasterize
属性设置为true
会使边框消失。
我的build议是,因为你的用例是一个animation循环,以AVPlayer和使用UIImageView。
UIImage
有animatedImage(with:duration:)
在哪里你可以input图像数组和animation他们如何你喜欢。
我想这会解决你的问题。 根据我的经验,AVPlayer对于iOS 10有点不习惯。我认为,因为你只在6s +和7s +上看到这个问题,所以certificate它有一些问题。
如果您完全致力于搞清AVPlayer,请首先向苹果提交错误报告。 然后,也许尝试添加一个UIImageView在AVPlayer的后面,将图像设置为video中的空白帧。 这是一个hacky解决scheme,但它可能工作。 另外,看看这个堆栈溢出post。 这可能会让您对AVPlayer所遇到的问题有所了解。
祝你好运。
我试过Nate4436271的答案,它对我有效,我的意思是,有同样的问题,并摆脱了灰色的线条,但将shouldRasterize属性设置为true,使我的video丢失图像质量。 所以,我把我的playerLayer的videoGravity设置为AVLayerVideoGravityResizeAspectFill和我摆脱了行,同时保持图像质量:)
这是我做的:
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
AspectFill符合我的需求,并解决了这个问题。 您可能希望评估其他选项是否更适合您的需求,如AspectFit或Resize。
希望这可以帮助 :)
- 如何在iOS中播放没有文件扩展名的video?
- AVPlayer锁屏控制
- 在IOS 9上使用AVPlayer和Swift反向播放video
- 隐藏Quicktime Logo / AVPlayerViewControllerContentView图像
- 避免video开始和结束时的模糊(甚至在使用setPreferredVideoStabilizationMode:AVCaptureVideoStabilizationModeAuto之后)?
- 保存AVPlayer的缓冲区数据
- 在iPhone上的耳机和扬声器之间切换
- 线程1:加载AVPlayer时EXC_BAD_ACCESS(code = EXC_I386_GPFLT)
- 使用AVPlayer在ios中进行audiostream式传输