我正在尝试使用AVPlayer
播放已在我的应用中录制的视频。但是,播放器不会播放视频。我知道这是一个正确录制的mp4文件的事实,因为我可以接受它并在我的Mac上播放就好了。这是播放器的设置:
let documents = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!
let URL = NSURL(fileURLWithPath: "tempVideo", relativeToURL: documentsDirectory)
let asset = AVAsset(URL: URL)
let item = AVPlayerItem(asset: asset)
//videoPlayer is a property on the view controller being used
videoPlayer = AVPlayer()
//videoPlayerLayer is a property on the view controller being used
videoPlayerLayer = AVPlayerLayer(player: videoPlayer)
videoPlayerLayer.frame.size = view.frame.size
videoPlayerLayer.backgroundColor = UIColor.redColor().CGColor
view.layer.addSublayer(videoPlayerLayer!)
//wait 5 seconds
videoPlayer.play()
我确信videoPlayer
实际上已经准备好了,因为我已经检查了它的status
属性。我也知道videoPlayerLayer
已正确添加到view.layer
,因为它可见并占据整个屏幕。当我拨打videoPlayer.play()
时,设备上播放的音乐会停止,但videoPlayerLayer
不会显示任何内容。
有什么想法吗?提前感谢您的帮助!
编辑:我忘了显示videoPlayerLayer
确实与videoPlayer
有关,我已更新我的问题以反映这一点。
答案 0 :(得分:0)
@ Dershowitz123给出了正确的答案,但他或她将其留在评论中,因此我无法将其标记为正确。解决方案是更改URL以包含.mp4
扩展名。谢谢你的帮助。