MPMoviePlayerController在寻求特定时间线后的空白帧

时间:2011-05-25 06:14:04

标签: ios mpmovieplayercontroller frame seek

我正在开发一个iPhone应用程序,我使用 MPMoviePlayerController 播放视频。我使用自定义控件播放视频。

我有一个显示视频时间线的滑块。使用此用户可以将电影搜索到电影的任何时间线。

当用户连续移动滑块时:

  1. 首次暂停视频; [MPMoviePlayerController-obj pause]
  2. MPMoviePlayerController-obj.currentPlaybackTime = slider.value
  3. 滑块操作结束时:

    1. 播放视频; [MPMoviePlayerController-obj play]
    2. 从用户离开滑块的位置播放电影。但是,当电影完成播放时,它会导致空白帧。这种缺陷随机发生;即不是所有寻求的时间。

      获取空白帧的原因是什么?我该如何解决这个问题?

      谢谢和问候, 迪帕

2 个答案:

答案 0 :(得分:2)

我不确定这是否有效,但请尝试将initialPlaybackTime设置为slider.valuecurrentPlaybackTime

答案 1 :(得分:2)

为了确保您的内容没有缺陷,从而可能触发该问题,您应该尝试使用Apple的参考视频内容复制错误的MPMoviePlayerController结果。

我个人观察到与编码不当有关的许多问题。使用有损压缩内容时,往往会发生奇怪的事情。对于视频(i帧与p帧)以及音频(可变比特率)都是如此。

一个是报告不正确的播放持续时间。这样的问题可能会导致意外的完成状态。我见过MPMoviePlayerController即使实际视频显然已经完成,仍会显示一些秒钟的情况。一旦用户在视频中寻找,这些情况经常发生。

一旦确定使用给定的示例文件也会出现问题,您应该提交错误报告。