博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MPMoviePlayerController播放远程视频存在问题
阅读量:6705 次
发布时间:2019-06-25

本文共 1965 字,大约阅读时间需要 6 分钟。

有一个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];
        }        
    }
我觉得应该不是代码问题,是不是服务器要设置什么东西,或则视频大小有没有要求,主要是真机“不支持此格式‘的问题,模拟器上可以跑

有可能转的mp4不对,可以写个html访问一下试试。

转载于:https://www.cnblogs.com/pengyingh/articles/2418078.html

你可能感兴趣的文章
【开源】Westore Cloud 发布- 没后端没SQL没DBA,只需 javascript 开发云端小程序
查看>>
Many ways to communicate with your database using jQuery AJAX and ASP.NET
查看>>
(原創) 為什麼要學C/C++? (C/C++)
查看>>
读书笔记: CLR篇 (让你了解C#.Net的实质) (20111219更新)
查看>>
Red Hat Enterprise Linux 各版本详细说明
查看>>
Xshell如何设置,当连接断开时保留Session,保留原文字
查看>>
C 结构体
查看>>
Cookie管理 WebView同步
查看>>
解决matplotlib库在PyCharm和命令行都无法正常显示问题
查看>>
(一)Linux实操之——权限、任务调度、磁盘分区
查看>>
Jmeter----HTTP Request Defaults
查看>>
signal(SIGHUP, SIG_IGN)的含义
查看>>
浅谈javascript中的作用域
查看>>
JavaFX Scene Builder 1.0 Developer Preview介绍
查看>>
VS2010 运行速度加快方法(转)
查看>>
EasyRadius 从1.6升级到 1.65 提示:初始化连接失败,未找到可用的接口信息,解决方案...
查看>>
iPhone开发之多线程使用
查看>>
Python 发邮件
查看>>
程序10
查看>>
ecshop 如何调整商品属性筛选项的显示顺序?
查看>>