我有这个功能:
func retrievePixelBufferToDraw() -> CVPixelBuffer? {
let time = self.playerItem!.currentTime()
// this line is just added to make sure I can call something on self.videoOutput!
self.videoOutput!.hasNewPixelBuffer(forItemTime: time)
// raises EXC_BAD_ACCESS
let pixelBuffer = self.videoOutput!.copyPixelBuffer(forItemTime: time, itemTimeForDisplay: nil)
return pixelBuffer
}
听起来EXC_BAD_ACCESS
来自访问已解除分配的变量,但由于我已经检查了所有变量,因此我不会真正看到它是如何发挥作用的。在调用失败的行之前使用m。
答案 0 :(得分:1)
简单..你的AVPlayer没有得到视频输入同时它正在抛出错误EXC_BAD_ACCESS
当你玩时尝试给它 QuickTimeMovie ( player.play()
)始终需要视频输入。
最后player
不应该是nill
(没有正确的playerItem
)