为什么MPMoviePlayerController setCurrentPlaybackTime进入错误的时间? [英] Why does MPMoviePlayerController setCurrentPlaybackTime goes to the wrong time?

查看:107
本文介绍了为什么MPMoviePlayerController setCurrentPlaybackTime进入错误的时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对MPMoviePlayerController感到有些奇怪。

I am experience some weirdness with MPMoviePlayerController.

我正在尝试设置视频正在播放时的currentPlaybackTime(文件源)。
以下是发生的事情的示例

I am trying to set the currentPlaybackTime of a video whilst it is playing (file source). Here is an example of what happens


  1. 播放视频

  2. 点击按钮跳转到视频的9.3秒

  3. 播放状态更改如下:

a)播放状态= 5(MPMoviePlaybackStateSeekingBackward)。 currentPlaybackTime = 15.74(这是我按下按钮时的时间)

a) Play state = 5 (MPMoviePlaybackStateSeekingBackward). currentPlaybackTime = 15.74 (this is the time I had got to when I pressed the button)

b)播放状态= 1(MPMoviePlaybackStatePlaying)。 currentPlaybackTime = 7.32

b) Play state = 1 (MPMoviePlaybackStatePlaying). currentPlaybackTime = 7.32

似乎并不重要我尝试将currentPlaybackTime设置为最终为7.32。

It doesn't seem to matter what I try and set currentPlaybackTime to it ends up as 7.32.

一些额外信息:
即使使用MPMoviePlayerController上的内置控件,我也会遇到此行为。例如如果我向前滚动到15秒它会跳回到7.32

Some extra info: I get this behaviour even using the built in controls on MPMoviePlayerController. e.g. If I scroll it forward to 15 seconds it jumps back to 7.32

任何想法?是否与媒体文件有关?

Any ideas? Is it something to do with the media file?

推荐答案

你应该寻求使用seekToTime或seekToTimeWithSeconds。

You should seek using seekToTime or seekToTimeWithSeconds.

 CMTime npt = CMTimeMake(9,1);
 [self.player seekToTime:npt];

  CMTime npt = CMTimeMakeWithSeconds(9.3, 600);
   [self.player seekToTime:npt toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];

这篇关于为什么MPMoviePlayerController setCurrentPlaybackTime进入错误的时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆