有一个3gp格式的视频,放在服务器上,比方说在 http://65.49.19.44:9528/videos/ZAWIIlXNGwY.3gp。 我使用如下代码,无法从远程直接播放,显示错误“The server is not correctly configured”。但我把这个视频下载到本地,只把URL改成本地路径,就可以用MPMoviePlayerController成功播放。这个链 接是有效的,请帮我看看我是哪里设置不对,还是链接格式不对?
-(void)playMovieButtonPressed
{
movieURL = [NSURL URLWithString:@"http://65.49.19.44:9528/videos/ZAWIIlXNGwY.3gp"];
if (movieURL) {
if ([movieURL scheme]) // sanity check on the URL {
LearnTabViewAppDelegate *appDelegate = (LearnTabViewAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate initAndPlayMovie:movieURL];
}
}
}
-(void)initAndPlayMovie:(NSURL *)movieURL
{
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
if (mp) {
self.moviePlayer = mp;
[mp release];
[self.moviePlayer play];
}
}
mp4的远程 播放貌似一切正常, 3gp不知道了
问题解决,自己做个总结:
用MPMoviePlayer,不仅在iPhone上要设置正确,播放的文件格式要支持(比如3gp, m4v等),并且服务器那端要支持相应的MIME TYPE(这个具体是什么我也不大清楚)。我最开始无法播放远程视频,问题出在服务器不支持3gp的MIME TYPE,后来修改后就ok了。
MPMoviePlayerController播放网络视频,为什么有时可以自动播放,有时不可以
我在用MPMoviePlayerController播放网络视频的时候,有的时候可以自动播放;有时却得点一下中间得播放按钮才能播放。这是为什么呢?
代码如下:
-(void)initAndPlayMovie:(NSURL *)movieURL
{
// Initialize a movie player object with the specified URL
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
if (mp)
{
// save the movie player object
self.moviePlayer = mp;
[mp release];
// Apply the user specified settings to the movie player object
[self setMoviePlayerUserSettings];
// Play the movie!
[self.moviePlayer play];
}
}
有一个mp4格式的视频,放在服务器上,如果用模拟器去播放是可以播放,但如果编译到真机上就出现""不支持此格式",哪位大侠知道能否告诉下小弟怎么回事,如何解决。
NSString *str = [NSString stringWithFormat:@"%@%@",MovieHttp,idstr];
NSURL *url=[NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[url retain];
if(url!=nil)
{
if([url scheme]){
[mp playMovieAtURL:url];
}
}
我觉得应该不是代码问题,是不是服务器要设置什么东西,或则视频大小有没有要求,主要是真机“不支持此格式‘的问题,模拟器上可以跑