如何切换2个音轨但1个视频文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何切换2个音轨但1个视频文件?相关的知识,希望对你有一定的参考价值。
我是一个javascript业余爱好者。我想创建一个部分,人们可以在两个音频之间切换,同时运行视频。我想要显示音频的前后版本。
基本上,视频最初应与音频的“之前”版本一起运行。然后应该有一个按钮将音频切换到“后”版本,然后来回走动。
我尝试了“audioTracks”方法,但浏览器兼容性并不好。实现它的最佳方法是什么?
提前致谢。
答案
您只需使用两个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()
}
}
另一答案
这样做:)虽然我做了一些改变。音频看起来效果很好。我可以玩并切换它。但视频没有启动按钮。所以我把代码更改为:
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;
}
}
在此之后,视频与音频一起播放。但是当我切换音频时,它们的时间不匹配。音频似乎播放的时间有点晚。
以上是关于如何切换2个音轨但1个视频文件?的主要内容,如果未能解决你的问题,请参考以下文章
使用 SharpDx 或 IMSourceReader 从 mp4 文件中读取第二个音轨流