如何知道MPMoviePlayerController正在Iphone OS 3.0中播放

时间:2010-01-18 10:31:17

标签: iphone objective-c mpmovieplayercontroller

我需要知道MPMoviePlayerController在特定时刻是否正在播放。

在iphone 3.0中,它没有触发MPMoviePlayerContentPreloadDidFinishNotification。

有谁知道任何解决方案?

提前致谢!

2 个答案:

答案 0 :(得分:5)

谢谢你的回答。 我解决了这个问题,所以我会发布答案。 答案是如果你在初始化后立即调用play(),MPMoviePlayerContentPreloadDidFinishNotification就不会被激活。

要使MPMoviePlayerContentPreloadDidFinishNotification工作正常,你必须在MPMoviePlayerContentPreloadDidFinishNotification被触发时调用MPMoviePlayerController的“play()”方法(我的意思是在MPMoviePlayerContentPreloadDidFinishNotification方法中)。在这种情况下,它始终有效。

测试3.0,3.1和3.1.2

答案 1 :(得分:1)

同样的问题(但没有答案)here以及其他几个报告可以在其他网站上找到(例如here

不理想,但似乎目标3.1解决了问题。

解决方法可能是将MPMoviePlayerController属性scalingMode设置为默认MPMovieScalingModeAspectFit以外的其他内容(例如MPMovieScalingModeNone,并确保您的视频大小正确),然后才能调用{ {1}}然后挂钩play事件。一旦电影开始播放,它似乎就被召唤(不止一次!)。当然,如果用户手动更改缩放模式,也会调用它,因此代码为此。它很脏但可以帮到你?