我目前正在尝试修改从php脚本(标头方法)获取其源代码的html5视频播放器的currentTime。视频正确加载,我可以通过JS访问命令:
我通过php脚本将视频加载到html5标签中
<video controls id="MyVideo">
<source src="getVideo.php?nom=sunset_plaine&sens=1&qualite=hd" type="video/mp4" />
<!--<source src="datas/videos/voie_lactee_1_hd.mp4" type="video/mp4" />-->
</video>
我可以控制视频JS
var myvideo = document.getElementById("MyVideo");
myvideo.play();
加载视频后(事件可以播放),我可以检索有关视频的信息
console.log(myvideo.duration);
console.log(myvideo.currentTime);
我无法更改视频的当前时间,并且该命令不会返回任何错误
console.log(myvideo.currentTime);
myvideo.currentTime = 2.6;
console.log(myvideo.currentTime);
如果我将php脚本替换为视频的直接链接,则可以修改currentTime
<video controls id="MyVideo">
<!--<source src="getVideo.php?nom=sunset_plaine&sens=1&qualite=hd" type="video/mp4" />-->
<source src="datas/videos/voie_lactee_1_hd.mp4" type="video/mp4" />
</video>
此代码在IE和FF上完美运行,问题在chrome下发生
有没有人可以阐明这个问题?
谢谢!
答案 0 :(得分:0)
我通过在php脚本getVideos.php
上使用标头找到了解决方案:
在读取php脚本中的视频之前,我只是使用一个标头:
header('Content-Type: video/mp4');
我添加了一个,并且现在可以在Chrome上编辑currentTime(不要问我为什么...):
header("Content-Disposition: inline;");
我借此机会也添加了这些内容:
header('Accept-Ranges: bytes');
header('Content-Length: '. filesize($file_path_name));
header("Content-Transfer-Encoding: binary");
header('Connection: close');
仅此而已。