AVPlayerItemVideoOutput.copyPixelBuffer因EXC_BAD_ACCESS

时间:2016-07-12 23:51:18

标签: swift runtime-error allocation

我有这个功能:

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。

1 个答案:

答案 0 :(得分:1)

简单..你的AVPlayer没有得到视频输入同时它正在抛出错误EXC_BAD_ACCESS当你时尝试给它 QuickTimeMovie player.play())始终需要视频输入。

最后player不应该是nill(没有正确的playerItem