我正试图在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];
}
答案 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];
}