AVPlayer 不播放本地 mp4
AVPlayer not playing local mp4
我正在尝试使用 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
,我已经更新了我的问题以反映这一点。
@Dershowitz123 给出了正确答案,但他或她在评论中留下了答案,因此我无法将其标记为正确。解决方案是更改 URL 以包含 .mp4
扩展名。感谢您的帮助。
我正在尝试使用 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
,我已经更新了我的问题以反映这一点。
@Dershowitz123 给出了正确答案,但他或她在评论中留下了答案,因此我无法将其标记为正确。解决方案是更改 URL 以包含 .mp4
扩展名。感谢您的帮助。