我处理了与alloc对象相关的内存泄漏,但是我认为我已经弄错了我的代码,因为现在我的视频剪辑没有播放。我相信我已经让设备在剪辑开始之前释放。有人可以帮我重新安排我的代码吗?我非常感谢一些提示让播放再次工作。以下是我正在使用的示例。
@implementation ELECTRIC_GROOVEYViewController
-(IBAction)playMovie:(id)sender
{
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"1960" ofType:@"m4v"];
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
MPMoviePlayerController *moviePlayerController =
[[[MPMoviePlayerController alloc] initWithContentURL:fileURL]autorelease];
[self.view addSubview:moviePlayerController.view];
moviePlayerController.fullscreen = YES;
moviePlayerController.scalingMode = MPMovieScalingModeAspectFill;
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerLoadStateDidChangeNotification
object:nil];
// no moviecontrolls
moviePlayerController.controlStyle = MPMovieControlStyleNone;
// looping forever
moviePlayerController.repeatMode= MPMovieRepeatModeOne;
[moviePlayerController play];
}
答案 0 :(得分:0)
您autorelease
moviePlayerController
个对象。它没有进一步保留。因此,对象必须被解除分配。通过创建实例变量来保持对它的引用,并在完成后释放它。