您能否以编程方式检测MPMoviePlayerController currentPlaybackTime中的更改

时间:2011-12-11 21:46:09

标签: ios xcode core-animation mpmovieplayercontroller calayer

我编写了自定义控件,允许用户通过点击或拖动显示某种乐谱图像的自定义currentPlaybackTime来更改MPMoviePlayerController的{​​{1}}。代码使用触摸事件的x位置来更新UIButton,一切正常。我还有一个currentPlaybackTime(一条垂直的红线),显示用户触摸控件的位置。

如果用户使用滑块(滑块)控件更改了电影播放器​​的CALayer属性,我现在要做的是更新红线(CALayer对象)位置。

显然currentPlaybackTime总是在电影播放时更新,但有没有办法通过向前或向后跳过来检测用户是否干扰了这个?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用键值观察来跟踪currentPlaybackTimeMPMoviePlayerController的更改,但这可能会产生大量事件,从而对您的效果产生负面影响。也许您也可以将KVO与playbackState的{​​{1}}属性一起使用,我相信当用户开始寻找时它会发生变化。

另一种选择是您只需设置一个频繁更新的重复计时器,每次触发时都会检查MPMoviePlayerController的新值。但这可能看起来不稳定,也可能影响性能。