【问题标题】:Loading a mute video with a separate audio into a HTML5 video tag将带有单独音频的静音视频加载到 HTML5 视频标签中
【发布时间】:2015-11-25 15:01:26
【问题描述】:

我需要将静音视频和音频文件加载到同一个 html5 视频标签中。我试图找到这个,但我只找到了关于音频标签的文本,这不是我要找的。​​p>

我需要这样的东西:

<video controls="controls" poster="poster.jpg" width="640" height="360">
  <source src="08_gestao_documental_autoridades_brasileiras_SEM_AUDIO.mp4" type="video/mp4">
  <source src="autoridades_brasileiras.mp3" type="audio/mp3">
 </video>

【问题讨论】:

    标签: html audio tags html5-video html5-audio


    【解决方案1】:

    source 不是这样工作的。 source 元素是真正的替代品:如果浏览器不支持一个,它将转到下一个,直到它到达支持并播放的一个,然后只有那个会播放(其他将是 忽略)。

    您不能在同一个video/audio 标签下同时播放两个源(一个视频和一个音频)。正如您在网上找到的,如果您想要两个媒体元素(静音视频和音频),您将需要两个媒体标签。

    然后,至少在理论上(如果我没有误解的话),您可以使用mediagroup 来控制和同步audiovideo 元素,以便它们一起流式传输;但是mediagroup 没有得到很好的支持......或者至少我无法让它工作,但你可能想看看它,因为正如我所说,我可能误解了它是如何工作的:-S


    另一种解决方案是将audio 放在video 中(作为备用代码),然后使用JavaScript 同步它们。像这样的:

    <video id="myvideo" controls muted>
        <source src="path/to/video.mp4" type="video/mp4" />
        <audio id="myaudio" controls>
            <source src="path/to/audio.mp3" type="audio/mpeg"/>
        </audio>
    </video>
    
    <script>
    var myvideo = document.getElementById("myvideo");
    var myaudio = document.getElementById("myaudio");
    myvideo.onplay  = function() { myaudio.play();  }
    myvideo.onpause = function() { myaudio.pause(); }
    </script>
    

    你可以see an example on this JSFiddle

    【讨论】:

    • 优秀的方法,但必须稍作调整。如果视频轨道没有音频,则音频控件在 UI 上将不可用,因此用户无法操作。我的方法是禁用视频控件并将音频放在其下方,并通过音频控件控制视频进度。一切正常,除了全屏图标不可用...感谢您发布此内容,因为我在视频标签下苦苦挣扎了 2 天,不知道一次处理一个作为后备...
    • 使用这种方式同步音视频有什么缺点吗?我一直在寻找一种方法来做到这一点,你的回答是一种祝福。
    • 我猜
    • 上述方法在 Chrome 中运行良好,但在 Safari 中则不行(桌面和移动)。我发现 Apple 对多个媒体文件的并发播放非常严格。我能够在 Safari 上实现它的唯一方法是使用没有音轨并在其上设置静音标志的视频。
    • @Eschaton 上面的代码在桌面版 Safari (12.1.1) 上对我来说可以正常工作,但正如你提到的那样,它的视频带有静音标志。让我知道您使用的是什么版本的 Safari,以便我运行测试。
    猜你喜欢
    • 2014-11-16
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 2014-03-19
    • 2012-08-04
    • 1970-01-01
    相关资源
    最近更新 更多