加载了视频标签的元数据事件不适用于多个视频标签

时间:2018-07-22 04:29:59

标签: javascript angularjs webrtc

在单个html页面中,有多个视频标签,所有这些视频都可以同时播放。我已经建立了一个使用webrtc和视频捕获设备捕获视频的应用程序。这些视频不可搜索。 因此,我为每个视频标签调用以下代码,以便可以播放正在播放的视频。

如果我仅将代码应用于一个标签,则此代码可以正常工作,但是当我将其应用于多个视频标签时,它将无法正常工作。

$scope.addListenerVideo = function(videoSrc) {

        var videoSrcVar = document.getElementById(videoSrc);    
            if(videoSrcVar !=null) {
                videoSrcVar.addEventListener('loadedmetadata', () => {
                    if (videoSrcVar !=null && videoSrcVar.duration === Infinity) {
                      videoSrcVar.currentTime = 1e101;
                      videoSrcVar.ontimeupdate = function() {
                        videoSrcVar.currentTime = 0;
                        videoSrcVar.ontimeupdate = function() {
                          delete videoSrcVar.ontimeupdate;
                        };
                      };
                    }
                  });
            }
    }

html代码示例:

<div class="row">
            <div class="first-column">
            <video width="636" height="380" controls preload="auto" ng-show="actStatus_1" id="demoVideoSrc1" style="border: 1px solid black; margin-top: 10px; margin-left: 10px; "></video>
            </div>
            <div class="second-column">
            <video width="600" height="380" controls preload="auto" ng-show="actStatus_2" id="demoVideoSrc2" style="border: 1px solid black; margin-top: 10px; margin-left: 149px;"></video>
            </div>
</div>

1 个答案:

答案 0 :(得分:0)

在这里,我切换到了mozilla firefox。 chrome中的视频捕获方式存在问题,导致视频无法搜索。我不知道我是否缺少什么。切换到Firefox浏览器后,查找视频就没有问题了。