大型视频上的MPMoviePlayerController会导致大量内存峰值,以及1级内存警告

时间:2010-04-11 18:46:45

标签: iphone objective-c xcode video

当查看图像时,我的应用程序很好地消耗了低内存消耗,一旦我尝试使用MPMoviePlayerController观看视频内存使用高峰,使之前的内存图相形见绌,如果我播放视频则会导致“内存警告”。 Level = 1'消息。视频文件(mp4)甚至不大,40MB左右,如果我播放从URL流式传输或从本地文件加载的文件无关紧要,实际上如果我尝试将内存峰值更糟流动它。

以下是我用来创建播放器的代码:

        if (_photo.videoPath != nil) {
            _movieViewController=[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:_photo.videoPath]];
        } else {
            _movieViewController=[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:_photo.videoURL]];
        }

        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoMetaListener:)
                                                     name:MPMovieDurationAvailableNotification object:_movieViewController.moviePlayer];
        _movieViewController.moviePlayer.scalingMode=MPMovieScalingModeAspectFit; 
        _movieViewController.moviePlayer.shouldAutoplay = YES;
        _movieViewController.moviePlayer.controlStyle = MPMovieControlStyleEmbedded;

其他人遇到播放视频的问题?我还检查了泄漏,没有报道。

2 个答案:

答案 0 :(得分:1)

原来这是模拟器中的一个错误。在设备上,内存使用情况正常。

答案 1 :(得分:0)

是的,我也收到了这个错误。但我只想从我们的网站上加载一个7MB的小文件。我的问题似乎更进一步,因为视频甚至不会播放。视频已加载,您可以使用滑块条搜索视频,但无法播放。如果单击播放按钮,它会立即停止。我一直在解决这个问题已经有一个星期了,而且我的在线搜索没有找到太多。我非常迫切地需要想办法播放这个视频。顺便说一句,这是一个通用的APP,只是在iPad方面存在问题。我创建的MPMoviePlayerViewController与上面列出的相同。视频在模拟器中播放完美,但绝对不能在设备上播放!我甚至用各种设置对视频进行了多次重新编码,以确保不是问题所在。我目前使用的视频是480x360,H.264 Baseline L3.0,AAC / LC音频为44.1KHz。这些都符合iPhone和iPad上的视频播放规范。如果我遗漏了任何关键信息,请告诉我,但我想尝试提供尽可能多的信息。我希望有人可以对此有所了解。感谢。