【问题标题】:Detect HLS audio canplay event检测 HLS 音频 canplay 事件
【发布时间】:2016-03-07 10:03:20
【问题描述】:

我正在使用 nginx 和 nginx rtmp 模块为移动设备创建音频流。对于视频,我使用 ffmpeg 将视频切片为 jpeg 图像,然后将视频流显示给移动用户。音频是分开的,这会导致 15-30 秒的音频延迟。我认为这是因为 jpeg 的视频在音频缓冲区之前开始。所以我尝试的是捕捉<audio>事件“canplay”,当这个事件触发时,然后开始视频预览。

音源示例:http://example.com:8081/hls/audio.m3u8

检测代码:

 var audio = document.getElementById('preview-audio');
 audio.oncanplay=function(){ console.log('audio loaded'); };

但是这个事件永远不会触发。只有触发的事件是“loadstart”和“progress”。如何检测音频已缓冲,以便与 jpeg 同步?

提前致谢

【问题讨论】:

    标签: javascript jquery nginx http-live-streaming


    【解决方案1】:

    我相信你可以使用oncanplaythrough事件。

    var audio = document.getElementById("preview-audio");
    audio.oncanplaythrough = function() {
        console.log("Audio can be played.");
    };
    

    更多关于oncanplaythroughhere的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 2018-11-10
      相关资源
      最近更新 更多