【问题标题】:how to mix in audio to html5 video?如何将音频混入 html5 视频?
【发布时间】:2013-11-25 21:22:36
【问题描述】:

我有一个video 元素,例如

<video controls>
  <source src="foo.ogg" type="video/ogg">
  <source src="foo.mp4" type="video/mp4">
  Your browser does not support the <code>video</code> element.
</video>

我需要混入一个音频文件,这样当用户开始播放视频时,音频文件会与视频一起播放,而当电影停止/倒带时,音频也会这样做。我没有在 HTML5 视频/音频 API 中找到任何可以让我这样做的功能。有谁知道这是否可能?

我想我可以在页面上有两个单独的元素,一个用于视频,一个用于音频,并让它们由拦截来自视频播放器的事件的脚本控制,但我认为也许有一种方法可以使用API?我知道对于音频我可以混合不同的文件,但我可以对视频做同样的事情吗?

【问题讨论】:

    标签: html html5-video html5-audio


    【解决方案1】:

    你必须听html5 videoevents。在您的情况下,这应该是 play pause endedseeking here is an example player 列出所有事件。

    //HTML
    <video id="videoInHTML" width="320" height="240" controls="controls">.....
    
    //Javascript
    var yourVideoElement = document.getElementById("videoInHTML");
    yourVideoElement.addEventListener('play', videoPausePlayHandler, false);
    yourVideoElement.addEventListener('pause', videoPausePlayHandler, false);
    
    function videoPausePlayHandler(e) {
      if (e.type == 'play') {
        // play your audio
      } else if (e.type == 'pause') {
        // pause your audio
      }
    }
    

    在黑暗中寻找。收听seeking 事件。如果玩家正在寻找 = true -> yourAudioFile.seekToTime( yourVideoElement.currentTime )

    【讨论】:

    • 它适用于我的 html 网页。是否有一个选项可以混合,我们可以将其下载为包含音频的视频文件?
    【解决方案2】:

    我不太擅长。但是这些代码对我很有用,它也应该对你有用。

    <!DOCTYPE>
    <meta charset="UTF-8">
    <title> audio video</title>
    
    <audio id="audioInHTML" controls="controls">     
    <source src="audio.wav" type="audio/wav"/>
    </audio>
    </div>
    
    <video id="videoInHTML" width="320" height="240" controls="controls">
      <source src="movie.mp4" type="video/mp4" />
    </video>
    
    <div id="playButtonDiv" </div>
    
    <form>
    <input type="button" value="PlaySoundAndVideo" onClick="PlaySoundAndVideo('videoInHTML'),PlaySoundAndVideo('audioInHTML')">
    
    </div>
    
    <script>
    
    function PlaySoundAndVideo(soundObj,videoObj) {
    var soundAndVideo=document.getElementById(soundObj,videoObj);
    soundAndVideo.play();
    }
    
    
    </script>
    
    <style type="text/css">
    
    
    #playButtonDiv {
    position:absolute;
    top:800px;
    
    };   
    
    </style>
    

    【讨论】:

    • 谢谢。此代码控制页面上的两个独立元素。 video 元素上是否有 API 可用于使其使用特定的音频流/文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多