javascript - 在 HTML5 中切换音频和视频标签

标签 javascript jquery html webrtc

有没有办法在 HTML5 中即时切换音频和视频标签? 这意味着如果同一源以视频开始并选择“视频关闭”,则该源将被复制到音频标签并继续播放。反之亦然。

最佳答案

当然 - 暂停正在播放的任何内容,设置 <source>在您要开始的元素上,并将新播放器设置为从另一个播放器停止的地方开始:

var playing = "video";

var audio = document.getElementById("audio");
var video = document.getElementById("video");

var source = document.createElement("source");
source.setAttribute("src", "http://vjs.zencdn.net/v/oceans.mp4");
source.setAttribute("id", "sourceElement");

video.appendChild(source);

video.play();

document.getElementById("toggleAV").onclick = function(e) {
  switch (playing) {
    case "video":
      video.pause();
      video.setAttribute("class", "hidden");
      video.removeChild(source);
      audio.appendChild(source);
      audio.currentTime = video.currentTime;
      audio.setAttribute("class", "");
      audio.play();
      playing = "audio";
      break;
    case "audio":
      audio.pause();
      audio.setAttribute("class", "hidden");
      audio.removeChild(source);
      video.appendChild(source);
      video.currentTime = audio.currentTime;
      video.setAttribute("class", "");
      video.play();
      playing = "video";
      break;
  }
};
html,
body {
  height: 100%;
  width: 100%;
}
.hidden {
  display: none;
}
<!DOCTYPE html>
<html>

<head>
  <meta charset=utf-8 />
  <title>so</title>
  <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
</head>

<body>

  <video id="video" width="320" height="240" controls></video>
  <audio id="audio" controls class="hidden"></audio>
  <button id="toggleAV">Toggle AV</button>

</body>

</html>

关于javascript - 在 HTML5 中切换音频和视频标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31039294/

相关文章:

javascript - AngularJS ng-click 不会从 JQuery 代码中的动态按钮触发

ios - 我如何使用 Youtube iOS API 查找、转到某一秒?

javascript - 仅在表单提交时显示 HTML5 验证

javascript - 如何使用 jquery 找到内联 margin-left 的值

用于移动设备的 JavaScript 图表库

Jquery 插件 : backstretch not working as it should

JQuery 获取文本连接名称

javascript - 使用 JavaScript 添加类后 CSS 样式不会改变

关于输入和复选框的 PHP 问题

javascript - Breeze newValue.getProperty 不是函数