我需要知道 MPMoviePlayerController 是否在特定时刻播放。
在 iphone 3.0 中,它不会触发 MPMoviePlayerContentPreloadDidFinishNotification。
有谁知道任何解决方案?
提前致谢!
我需要知道 MPMoviePlayerController 是否在特定时刻播放。
在 iphone 3.0 中,它不会触发 MPMoviePlayerContentPreloadDidFinishNotification。
有谁知道任何解决方案?
提前致谢!
所以谢谢你的回答。我解决了这个问题,所以我会发布答案。答案是 MPMoviePlayerContentPreloadDidFinishNotification 如果您在初始化后立即调用 play() 则不会触发。
要让 MPMoviePlayerContentPreloadDidFinishNotification 正常工作,您必须在触发 MPMoviePlayerContentPreloadDidFinishNotification 时调用 MPMoviePlayerController 的“play()”方法(我的意思是在 MPMoviePlayerContentPreloadDidFinishNotification 方法中)。在这种情况下,它总是有效的。
在 3.0、3.1 和 3.1.2 上测试
同样的问题(但没有答案)在这里和其他几个报告可以在其他网站上找到(例如这里)
不理想,但似乎以 3.1 为目标解决了这个问题。
一种解决方法可能是在调用之前将MPMoviePlayerController
属性设置scalingMode
为默认值以外的值MPMovieScalingModeAspectFit
(例如MPMovieScalingModeNone
并确保您的视频大小正确)play
,然后MPMoviePlayerScalingModeDidChangeNotification
改为挂钩事件。电影一开始播放,它似乎就会被调用(不止一次!)。当然,如果用户手动更改缩放模式,它也会被调用,所以为此编写代码。它很脏,但可以帮助你吗?