带有src的php脚本的html视频中的JS currentTime在Chrome上不起作用

时间:2018-11-12 09:49:26

标签: javascript php html5-video current-time

我目前正在尝试修改从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下发生

有没有人可以阐明这个问题?

谢谢!

1 个答案:

答案 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');

仅此而已。