如何在HTML5视频上强制中止事件?我有一个叠加层,当我关闭它时,视频应暂停播放然后停止缓冲.但是,我的互联网连接仍然疯狂.哦,我在Mac OS X 10.6上使用Chrome 7.0.5.
我尝试了几件事 - 它们都没有奏效:
(对于那些不熟悉XUI的人来说,x $就像jQuery包装函数一样)
首先,调度中止HTML事件:
var videoEl = x$('#video_el')[0];
videoEl.pause();
var evObj = document.createEvent('HTMLEvents');
evObj.initEvent('abort', false, false);
videoEl.dispatchEvent(evObj);
Run Code Online (Sandbox Code Playgroud)
接下来,更改src然后强制加载:
var videoEl = x$('#video_el')[0];
videoEl.pause();
videoEl.src = "";
videoEl.load(); //tried with and without this step
Run Code Online (Sandbox Code Playgroud)
编辑:我的视频元素看起来像这样:
<video id="video_el" src="<video_url>" preload="none" controls="controls" />
Run Code Online (Sandbox Code Playgroud)
同样,这些都不起作用.以前有人遇到过这个问题吗?有什么建议?
总之,我试图强制HTML5视频元素停止缓冲.
谢谢!
如何使用JS更改视频源?
<video id="myVideoTag" width="670" height="377" autoplay="true" controls="controls">
<source src="http://www.test.com/test.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
</video>
Run Code Online (Sandbox Code Playgroud) 我有一个html5视频流,我需要在点击一下后更改源*.所以我正在做的工作,但只有在HTML中,我可以看到源更改,但我的显示没有变化,你能帮助我吗?怎么了?*源代码附加了frome xml文件.
HTML
<video autoplay loop width="960" height="540" id="video">
<source src="video/movie_01.mp4" id="tv_main_channel">
</video>
Run Code Online (Sandbox Code Playgroud)
JS
btn.on('click', function(){
var tv_main_channel = $('#tv_main_channel'),
d_program_source_mp4 = $(program_self).find("program_source_mp4").text();
tv_main_channel.attr('src', d_program_source_mp4);
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过,append但它仍然无法正常工作
var video_block = $('#video');
video_block.empty();
video_block.append(
'<source src="'+ d_program_source_mp4 +'">'
);
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
我确实读过每个stackoverflow线程关于在IE9中通过javascript动态更改视频标记源,包括有用但未商定的帖子在这里和这里,但确实感觉有另一个解决方案.这是我正在尝试做的非常基本的例子:
var video = document.getElementById('video');
//now, use either of the lines of code below to change source dynamically
video.src = "nameOfVideo";
//or use...
video.setAttribute("src", "nameOfVideo");
Run Code Online (Sandbox Code Playgroud)
这两行代码都被Internet Explorer彻底憎恨,特别是因为在使用简单的video.getAttribute进行检查后,src肯定会被更改,即使IE实际上没有做任何事情来切换视频.
是的,有人声称,使用IE,你必须在HTML中列出src,以便在页面加载后更改它们,但我确实在stackoverflow上找到了一个通过简单的JavaScript提出解决方案的线程.(令我失望的是,我再也找不到这样做的话......我到处搜寻,相信我).
尽管如此,如果有人能提供解决方案而不使用将所有视频src放在HTML中,而是使用JavaScript动态设置/创建src,如上所示,我将非常感激.
(或者,如果你可以指向我'缺少'溢出线程的方向,测试该属性是否存在于IE中,然后以某种方式通过javascript设置src,这也将被赞赏).
我有一个在 html5 中以 60 fps 播放的视频,我想知道是否有办法在浏览器中随时添加更改为 30fps 的选项。如果是这样,你怎么能。
谢谢你的时间
我的视频将分为4个视频。

首先,播放器将以较低的分辨率播放原始视频,然后用户可以放大视频以查看更多详细信息,我需要播放器以4分辨率较高的视频流之一播放(基于用户放大的位置) 。
如何使用VideoJS或任何其他视频播放器实现此目的?
一直在尝试更改 HTML5 视频的源视频(单击按钮后)。但是我遇到了错误。代码和错误如下:
相关 HTML:
<video id="video2" playsinline controls muted preload="auto" style="z-index: -1; position: absolute;">
<source src="exercise_media/vid_exercise_sample_1.mp4" type="video/mp4" >
</video>
Run Code Online (Sandbox Code Playgroud)
(关于 z-index 的东西 - 这个视频播放然后被一个重新绘制它的画布抓取,作为整个应用程序的一部分。可能不相关,但我想我会提到它。)
相关的Javascript。启动视频,播放正常。这有点深奥,因为我是从别人的样本开始的。
loadCompanionVideo();
export async function loadCompanionVideo() {
setStatusText('Setting up companion video...');
try {
video2 = await loadVideo2();
} catch (e) {
let info = document.getElementById('info');
info.textContent = '(video player) this device type is not supported yet, ' +
'or this browser does not support video capture: ' + e.toString();
info.style.display = 'block';
throw e;
} …Run Code Online (Sandbox Code Playgroud)