Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone MPMoviePlayerViewController setCurrentPlaybackTime转到错误位置_Iphone_Ios_Video_Mpmovieplayer - Fatal编程技术网

Iphone MPMoviePlayerViewController setCurrentPlaybackTime转到错误位置

Iphone MPMoviePlayerViewController setCurrentPlaybackTime转到错误位置,iphone,ios,video,mpmovieplayer,Iphone,Ios,Video,Mpmovieplayer,我有一个在后台播放视频的应用程序,过程非常简单,相同的行为会不断重复。在用户手势下,电影播放几秒钟并暂停,只要用户没有按下home(主页)按钮,应用程序就能正常工作。当应用程序从后台转到前台时,视频将变为全黑,直到用户做出手势为止 为了解决黑屏问题,我共享了播放器对象,然后在AppDelegate.m中使用函数准备播放器 [sharedObj.player.moviePlayer prepareToPlay]; 然后我将其位置移动到应该的位置(因为此时播放器返回到视频的起点),为此我调用此函数

我有一个在后台播放视频的应用程序,过程非常简单,相同的行为会不断重复。在用户手势下,电影播放几秒钟并暂停,只要用户没有按下home(主页)按钮,应用程序就能正常工作。当应用程序从后台转到前台时,视频将变为全黑,直到用户做出手势为止

为了解决黑屏问题,我共享了播放器对象,然后在AppDelegate.m中使用函数准备播放器

[sharedObj.player.moviePlayer prepareToPlay];
然后我将其位置移动到应该的位置(因为此时播放器返回到视频的起点),为此我调用此函数

[sharedObj.player.moviePlayer setCurrentPlaybackTime: whereItShouldBe];
我的问题来了,视频没有放在应该放的地方。“时间应该在哪里”和“何时”之间有很大的区别

我使用对象标识符验证了它是同一个对象,那么是否有人已经遇到了类似的问题?或者有想法支持我。提前谢谢


更新
已关闭:未解决已关闭请参见问题下方的评论

您能否更详细地说明什么是“存在巨大差异”?几秒钟,几分钟?早一点,晚一点?好的,我将举一个数字例子:当我想将播放时间设置为1.2(秒)比设置为0.94(秒)时,这不是一个固定的差异,有时它更大。这个差异(高达0.5秒)是很正常的,取决于编解码器和帧速率,它可能会有所不同。您只能跳到某些关键帧,这些关键帧可能会有所不同。例如,对于h264 25fps,这意味着关键帧之间的间隔为0.2-0.3秒。感谢您的帮助,但是否有任何方法或方法可以获得预期的结果?可能是另一种视频格式(目前我使用的是mpg4)。如果您可以编辑视频文件,请使用VirtualDub之类的工具插入更多关键帧并检查结果