我已经编写了自定义控件,该控件允许用户通过单击或拖动显示某些音乐符号图像的自定义UIButton来更改MPMoviePlayerControllercurrentPlaybackTime 该代码使用touch事件的x位置更新currentPlaybackTime ,并且一切正常。 我还有一个CALayer (垂直的红线),它向用户显示他们在控件上触摸的位置。

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

显然, currentPlaybackTime总是在电影播放时更新,但是有没有一种方法可以检测用户是否通过向前或向后跳过来干扰此操作?

非常感谢。

===============>>#1 票数:1 已采纳

您可以使用Key-Value-Observing跟踪MPMoviePlayerControllercurrentPlaybackTimeMPMoviePlayerController ,但这可能会生成许多事件,从而对性能产生负面影响。 也许你也可以使用国际志愿者组织与playbackState你的财产MPMoviePlayerController ,我相信,当用户开始寻求它的变化。

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

  ask by AustinRathe translate from so

未解决问题?本站智能推荐: