AVPlayer没有播放本地mp4

时间:2016-06-17 17:46:31

标签: ios swift avfoundation avplayer avplayerlayer

我正在尝试使用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有关,我已更新我的问题以反映这一点。

1 个答案:

答案 0 :(得分:0)

@ Dershowitz123给出了正确的答案,但他或她将其留在评论中,因此我无法将其标记为正确。解决方案是更改URL以包含.mp4扩展名。谢谢你的帮助。