我想使用html5的video标签,但是在iphone上无法播放

<video controls="controls" autoplay="autoplay" id="video" name="media">
        <source id="source" src="" type="video/mp4">
        </video>

这个是我代码

视频源为MP4(h264)
在5s上的Safari,chrome,海豚上都无法播放

阅读 54k
5 个回答

视频格式MP4是正确的,但是你的后台没有对ios的视频播放器做适配。
如果想要在iOS上播放视频,那么必须在http协议中应用rang请求头。


对于有的朋友还对ios播放器http的range标记不是很懂。我再讲解下。

视频文件总长度是123456789
range是播放器要求的区间也就是客户端发送请求的时候http会带有这个标记,这个区间的值在http.headers.range中获取,一般是bytes=0-1这样的。

我们需要做的处理是返回文件的指定区间(如上面的例子,我们就应该返回0到1的字符),并添加Content-Range:btyes 0-1Accept-Ranges:bytes、'Content-Length: 123456789','Content-Type: video/mp4'到http.headers中

应该是无法自动播放吧?
这是iOS的限制,<audio>``<video>必须由用户动作触发,不能自动播放

新手上路,请多包涵

题主这个问题解决了么?我也遇到这个问题了。

var Media=document.getElementById("video");
    Media.play(); 

用js调用方法就可以自动播放了:
Media.autoPlay; //是否自动播放
Media.loop; //是否循环播放
Media.play(); //播放
Media.pause(); //暂停
……

同问,我是其他的iphone可以播放,但是在iphoneX版本12.0.1播放不了视频,mac系统也可以播放,找不到原因,后台的配置rang也已添加配置,<video preload="auto" ref="$video" controlsList="nodownload" width="100%" height="100%" >

                        <source src="http://**/20181105.mp4" type="video/mp4"/>
                        {/*您的浏览器不支持 video 标签  */}
                    </video>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题