我认识到,一个类似的问题之前已经公布,但我真的不能似乎找到了最适合我工作的解决方案。 我有其存储的MPMoviePlayerController的一个实例变量类MoviePlayer,以及我在类下面的方法:
-(void)playMovie:(NSString *)movieName
{
NSURL *movieURL;
NSBundle *bundle = [NSBundle mainBundle];
if(bundle)
{
NSString *moviePath = [bundle pathForResource:movieName ofType:@"m4v"];
if(moviePath)
{
movieURL = [NSURL fileURLWithPath:moviePath];
}
}
MPMovieController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
if(mp)
{
self.moviePlayer = mp;
[mp release];
[self.moviePlayer play];
}
[movieURL release];
}
当呼叫我玩电影一旦影片播放很好,但是当它再次呼吁不同(或相同)的电影文件我碰到下面的错误堆栈:
_class_isInitialized
_class_lookupMethodAndLoadCache objc_msgSend
-[MoviePlayer setMoviePlayer:]
-[MoviePlayer playMovie:]
我不知道如何解决它! 我以为,当self.moviePlayer = MP被称为那么当前moviePlayer被释放,新添加? 该属性设置为(非原子,保留)。 有人能帮助吗?
谢谢