gpt4 book ai didi

javascript - 使用 jquery 创建 videojs

转载 作者:行者123 更新时间:2023-11-30 17:14:35 26 4
gpt4 key购买 nike

我正在尝试使用 Jquery 创建多个 videojs 元素,但无法播放视频。我有 12 个直播流,我使用 videojs 在页面上运行,当我像这样在页面上的每个流中硬编码时,我让它们全部工作

<div class="box">
<video id="cam1@g20" class="video-js vjs-default-skin vjs-big-play-centered"
data-setup='{"autoplay": true, "controls": false, "width": 640, "height": 480, "techOrder": ["flash", "html5"]}'>
<source src="http://myurl.com/livehttp/cam1@g20.stream/playlist.m3u8" type='video/mp4' />
</video>
<span class="grid-overlay-bottom-right"> cam1@g20 </span>
</div>

我现在尝试通过使用 js 和 jquery 创建 div 和视频来添加每个视频。

HTML

<body>
<main class="container" role="main">
<div id="cam_streams">

</div>
</main>
</body>

JS

$( document ).ready(function() {
var streams = [
"cam1",
"cam2",
"cam1",
"cam2",
"cam1",
"cam2",
"cam1",
"cam2",
"cam1",
"cam2",
"cam1",
"cam2"
];
var videoStreams = function(){
for (var i = 0; i < streams.length; i++) {
var stream = streams[i];

$('.cam_streams').append(
'<div class="box"><video id="'+stream+'" class="video-js vjs-default-skin vjs-big-play-centered data-setup= "autoplay": true, "controls": false, "width": 640, "height": 480, "techOrder": ["flash", "html5"]></video><source src="http://myurl.com/livehttp/' + stream + '.stream/playlist.m3u8"/><span class="grid-overlay-bottom-right">' + stream + '</span></div>');

};
};
videoStreams();

当我运行页面时,它创建了所有 12 个“框”div,并且每个都有正确的视频,就像我将它硬编码到 html 文件中一样,但它没有播放任何东西,我没有控制台中的错误。

任何关于更好的方法来执行 jquery 的帮助也将不胜感激,我对它仍然很陌生。谢谢

最佳答案

我找到了一种以 json 格式实现 videojs 的方法,而不是在找到 this 后尝试通过使用 Jquery 创建视频标签来添加它。我还学到了更多的 jquery 并对其进行了改进。

  var wrapper = $('<div/>');
wrapper.addClass('box');

var video = $('<video></video>');
video.addClass("video-js vjs-default-skin vjs-big-play-centered ");
video.attr('id', 'box-' + stream);
video.appendTo(wrapper);

var annotation = $('<span>' + stream + '</span>');
annotation.addClass('grid-overlay-bottom-right');
annotation.appendTo(wrapper);

wrapper.appendTo('#cam_streams');

videojs("box-" + stream, {
techOrder: ['flash', 'html5'],
autoplay: false,
width: 640,
height: 480,
controls: true,
sources: [{
src:'http://myurl.com/livehttp/' + stream + '.stream/playlist.m3u8',
type: "video/mp4",

}]
});

我已经在 Chrome 和 Safari 上对此进行了测试,它运行良好。

关于javascript - 使用 jquery 创建 videojs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26356193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com