读取视频中的视频元素/属性的正确方法是什么.js
What is the proper way to read the video elements/attributes in video.js?
我需要读取然后修改视频元素中的一些标签和属性,该元素使用video.js作为其播放器。我已经能够使用 getElementsByTagName 和 getAttribute 读取信息,如下面的代码所示。 但我希望有一种更简单/更好/最好的方法可以通过视频.js(5.6.0)做到这一点。
var video = document.getElementsByTagName('video')[0];
var poster = video.getAttribute('poster');
var sources = video.getElementsByTagName('source');
var tracks = video.getElementsByTagName('track');
if (poster != null)
{
var newposter = addChk(poster, "p"); // generates modified source
video.setAttribute('poster', newposter);
}
for (var i = 0; i < sources.length; i++) {
var s = sources[i].getAttribute('src');
s = addChk(s,"f"); // generates modified source
sources[i].setAttribute('src', s);
}
for (var i = 0; i < tracks.length; i++)
{
var s = tracks[i].getAttribute('src');
s = addChk(s, "c"); // generates modified source
tracks[i].setAttribute('src', s);
}
谢谢。
当您使用视频时.js您应该使用其 API 来实现这些。在创建播放器后直接修改视频元素并不总是按预期工作,如果您使用不同的播放技术(例如IE8上的Flash),甚至不会有视频元素。
var player = videojs('my_player_id');
// Get/set poster:
console.log(player.poster());
player.poster('//example.com/poster.jpg');
// Get source:
console.log(player.currentSrc());
// Update source:
player.src({src: '//example.com/video.mp4', type: 'video/mp4'});
// Multiple sources:
player.src([
{src: '//example.com/video.m3u8', type: 'application/x-mpegURL'},
{src: '//example.com/video.mp4', type: 'video/mp4'}
]);
要更新曲目,您需要先删除现有曲目,然后再添加。
// Remove tracks:
var tracks = player.textTracks();
for (i = 0; i<tracks.length;i++) {
player.removeRemoteTextTrack(tracks[i]);
}
// Add a track
player.addRemoteTextTrack({
kind: 'captions',
src: '//example.com/captions.vtt',
srclang: 'is',
label: 'íslenska'
});
// never touch videoElement again. It's owned by videojs now.
var player = videojs(videoElement);
// IWillNotUseThisInPlugins is mandatory, per videojs spec
// https://github.com/videojs/video.js/issues/2617
player.tech({IWillNotUseThisInPlugins: true}).getAttribute('playsinline')
相关文章:
- 打破承诺链的好方法是什么
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- knex:根据结果创建数组的合适方法是什么
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 使用Modernizr检测移动设备最可靠的方法是什么
- 确定var是否是javascript中的elementFinder对象的方法是什么
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- 让会话值可用于JavaScript的好方法是什么
- 从AngularJs获取谷歌地图对象的正确方法是什么
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么
- 列出没有 mysql 的元素的最佳方法是什么
- 克服错误的更优雅的方法是什么:需要对象说明符.当通过JXA通过Messages发送SMS时,参数没有对象说明符
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 在 Javascript 中实现解耦代码/回调的正确方法是什么?
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 直接在DOM事件处理程序中调用作用域函数的最短方法是什么