3

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

在 iphone 3.0 中,它不会触发 MPMoviePlayerContentPreloadDidFinishNotification。

有谁知道任何解决方案?

提前致谢!

4

2 回答 2

5

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

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

在 3.0、3.1 和 3.1.2 上测试

于 2010-01-21T11:24:40.083 回答
1

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

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

一种解决方法可能是在调用之前将MPMoviePlayerController属性设置scalingMode为默认值以外的值MPMovieScalingModeAspectFit(例如MPMovieScalingModeNone并确保您的视频大小正确)play,然后MPMoviePlayerScalingModeDidChangeNotification改为挂钩事件。电影一开始播放,它似乎就会被调用(不止一次!)。当然,如果用户手动更改缩放模式,它也会被调用,所以为此编写代码。它很脏,但可以帮助你吗?

于 2010-01-18T15:14:53.500 回答