【发布时间】:2020-05-29 04:37:54
【问题描述】:
我不明白为什么它不起作用。我通过 segue 将 videoURL 传递给另一个 ViewController。这很好用。
在另一个 ViewController 我想播放视频。但由于某种原因,它不起作用。 我使用可选绑定打开 URL。但是 playerLayer 不接受 URL。它总是说为零。
这是 URL:VideoURL Optional(file:///var/mobile/Containers/Data/Application/517BA864-F5CB-4E2C-BE54-D42555569266/Documents/3d.mov)
我的代码:
var player: AVPlayer?
var playerLayer: AVPlayerLayer?
var videoURL: URL?
func playVideo() {
if let _videoURL = videoURL {
player = AVPlayer(url: _videoURL)
playerLayer = AVPlayerLayer(layer: player!)
playerLayer?.frame = contentView.layer.bounds
playerLayer?.videoGravity = AVLayerVideoGravity.resizeAspectFill
self.contentView.layer.addSublayer(playerLayer!)
player?.play()
}
【问题讨论】:
-
你可能没有解开你在 videoURL 初始化器中给出的字符串..
-
播放器有值,但playerLayer不接受值
标签: ios swift xcode avfoundation avplayerlayer