使用javascript在videojs上播放2个以上的视频?

时间:2017-09-15 18:55:29

标签: javascript video video.js

我经常搜索这个答案,但我找不到它。 好吧,我现在使用的网站主机上传限制为120mb,我需要托管的一些视频比这更大。我想到了几个想法,第一个想法是将视频分成几部分,并使用JavaScript代码使用VideoJS无缝地播放它们。

第二个想法仍然是分割视频,但不知何故将它们连接到1“src:”标签,以便VideoJS可以像1视频一样使用。

第二个想法似乎不可能,所以我选择第一个,知道0个javascript。 我设法拼凑了一些能够播放2个视频的代码,但是当添加第3个视频时,它会很奇怪。 它不会在第一个视频结束时转到第二个视频,而是转到最后一个视频(在本例中为第3个视频)。

我该如何解决这个问题?

我正在使用的代码:

<script type='text/javascript'>
        var count=1;
    var player=document.getElementById('test');
    player.addEventListener('ended',myHandler,false);

    function myHandler(e) {
        if(!e) 
        { e = window.event; }
        player.src="test2.mp4";
        }
{
var e = document.getElementById("test");
player.id = "test2";
}
</script>

<script type='text/javascript'>
        var count=1;
    var player=document.getElementById('test2');
    player.addEventListener('ended',myHandler,false);

    function myHandler(e) {
        if(!e) 
        { e = window.event; }
        player.src="test3.mp4";
        }
{
var e = document.getElementById("test2");
player.id = "test3";
}
</script>

请记住我对javascript一无所知

1 个答案:

答案 0 :(得分:0)

<script>标签中的所有变量和函数声明都转到全局范围。

例如,第二个脚本标记与第一个脚本标记共享相同的范围:

<body>
    <script>
        var foo = "Hello";
    </script>

    <script>
        console.log(foo); // "Hello"
    </script>
</body>

所以你在代码中所做的就是宣告所有内容两次,所以你的第二个myHandler声明会覆盖你的第一个。