- [MPTransportButton _isChargeEnabled]:发送到解除分配的实例0x4bf6cb0的消息

时间:2011-10-04 08:11:49

标签: ios mpmovieplayercontroller

我正在使用MPMoviePlayerViewController播放视频。视频播放器将显示为presentModalViewController。如果视频已完成且视图已被关闭。我收到错误:

 -[MPTransportButton _isChargeEnabled]: message sent to deallocated instance 0x4bf6cb0

但我不知道,错误发生在哪里。

提前致谢。

问候语,

帕特里克

3 个答案:

答案 0 :(得分:2)

删除模式时,您可能会尝试多次关闭视频播放器?

确保在取消玩家视图之前取消注册所有通知(MPMoviePlayerLoadStateDidChangeNotification,MPMoviePlayerPlaybackStateDidChangeNotification,...)

- (void)closeVideoPlayer
{
       [[NSNotificationCenter defaultCenter] removeObserver:self];  

       if (mp)
       {                
            [mp stop];
            [mp.view removeFromSuperview];
            mp = nil;       

            [self dismissModalViewControllerAnimated:animated];
        }
}
祝你好运!

答案 1 :(得分:2)

与jotaefe的答案相关:检查以确保在释放MPMoviePlayerController后MPMoviePlayerController的视图仍不在层次结构中。这种情况可能会留下对您的一些MPMoviePlayerController的视图子视图的悬空引用,这反过来可能会导致您的僵尸“消息被发送到解除分配的实例”错误。

答案 2 :(得分:0)

消息显示:MPTransportButton的值0x4bf6cb0的对象已被释放,然后再次使用。

因此,您需要找到已发布然后重用的MPTransportButton类型的对象。