MPMoviePlayerController在iOS 7上停止播放时崩溃

4
我正在使用MPMoviePlayerController在我的应用程序中播放视频。 在iOS 6及以下版本中,它运行得非常完美。 但是,在停止MPMoviePlayer对象时,它在iOS 7上崩溃了。
[player stop];

错误信息为:
-[__NSCFType _postNotificationName:object:]: unrecognized selector sent to instance 0x175927b0
2013-09-24 14:46:20.539 myAppName[446:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType _postNotificationName:object:]: unrecognized selector sent to instance 0x175927b0'
*** First throw call stack:
(0x30133f53 0x3a9406af 0x301378e7 0x301361d3 0x30085598 0x31370bd7 0xb2e19 0x328d9f3f 0x328d9edf 0x328d9eb9 0x328c5b3f 0x328d992f 0x328d9601 0x328d468d 0x328a9a25 0x328a8221 0x300ff18b 0x300fe65b 0x300fce4f 0x30067ce7 0x30067acb 0x34d62283 0x32909a41 0xafeeb 0xafe78)
libc++abi.dylib: terminating with uncaught exception of type NSException
2个回答

0

检查是否多次调用[player stop]。 iOS 7调用playbackFinish回调会使您的播放器处于无效状态。我的应用程序也出现了完全相同的情况,直到我发现由于PlaybackFinish方法而过度释放了播放器。


0

是的,我也看到了这个错误。目前正在尝试弄清楚是否存在与“MPMoviePlayerPlaybackDidFinishNotification”冲突的问题。

更新:在我的MPMovieplayer播放完成通知方法中,我将实例设置为NULL。将其移动到我的movieplayer实例化方法中可以解决崩溃:

videoTrack = NULL

videoTrack = [[MPMoviePlayerController alloc]initWithContentURL:url];


你有继承MPMoviePlayer来创建自己的通知发布方法吗?我在通过第三方库调用stop方法时看到了这个问题,只是想知道他们是否也做了同样的事情。据我所知,它从未到达我监听通知的方法。 - Keab42

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接