如何切换2个音轨但1个视频文件?

问题描述 投票:-2回答:2

我是一个JavaScript业余爱好者。我想创建一个部分,人们可以在两个音频之间切换,同时运行视频。我想要显示音频的前后版本。

基本上,视频最初应与音频的“之前”版本一起运行。然后应该有一个按钮将音频切换到“后”版本,然后来回走动。

我尝试了“audioTracks”方法,但浏览器兼容性并不好。实现它的最佳方法是什么?

提前致谢。

javascript audio audiotrack
2个回答
1
投票

您只需使用两个HTML Audio元素,然后同步它们的时间:

var audio1 = new Audio()
var audio2 = new Audio()

audio1.src = 'pathToSource',
audio2.src = 'pathToSource2',

var video = document.getElementByID('myvideo');
video.muted = true; //mute video cuz we have audio already

function switchAudio(one, two, vid) {
  if(one.paused) {
    two.pause();
    one.currentTime = vid.currentTime;
    one.play
  } else {
    one.pause();
    two.currentTime = vid.currentTime;
    two.play()
  }
}

0
投票

这样做:)虽然我做了一些改变。音频看起来效果很好。我可以玩并切换它。但视频没有启动按钮。所以我把代码更改为:

function switchAudio(one, two, vid) {
 if (one.paused) {
    two.pause();
    vid.play();
    one.play();
    one.currentTime = vid.currentTime;
 } else {
    vid.pause();
    one.pause();
    vid.play();
    two.play();
    two.currentTime = vid.currentTime;
 }
}

在此之后,视频与音频一起播放。但是当我切换音频时,它们的时间不匹配。音频似乎播放的时间有点晚。

© www.soinside.com 2019 - 2024. All rights reserved.