MPMoviePlayerViewController意外退出

时间:2010-09-13 22:13:40

标签: iphone mpmovieplayer

我正试图在iPhone设备上从我的服务器上播放视频。我正在使用以下方法来执行此操作,但是,它仅适用于模拟器;和我的iPhone 4.它在iPhone 3G上不起作用?

如果我在iPhone 3G上调用此方法,则会打开视频模式屏幕,开始加载视频,然后突然关闭模式屏幕。控制台中没有显示错误。

iPhone 3G已安装4.0版。我的iPhone 4有4.1版。

还有其他人经历过这个吗?

-(IBAction)playMedia{

NSString* url = [self.data objectForKey:@"url"];    

//initialize the movie player
self.moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:url]];

//show a background image while the user waits
moviePlayerViewController.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background.png"]];
moviePlayerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeFile;


//show the movie
[self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];

[moviePlayerViewController release];

}

2 个答案:

答案 0 :(得分:1)

好的我在iPhone 4和iPhone 3G上都可以使用视频。基本上问题是文件格式。我正在播放.mov文件。当我将格式更改为.mp4时,它现在可以在两个设备上运行。代码没有变化。

希望这可以帮助其他人解决同样的问题。

答案 1 :(得分:0)

我会做一些不同的事情:

-(IBAction)playMedia{ 

NSString* url = [self.data objectForKey:@"url"];     

//initialize the movie player 

MPMoviePlayerViewController *tmpPlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:url]];
self.moviePlayerViewController = tmpPlayer; 

//show a background image while the user waits 
UIColor *tmpColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background.png"]];
self.moviePlayerViewController.view.backgroundColor = tmpColor;

self.moviePlayerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 

//show the movie 
[self presentMoviePlayerViewControllerAnimated:self.moviePlayerViewController]; 

[tmpPlayer release]; 
[tmpColor release];
}