html5-audio - 修改 HTML5 音频中特定 channel 的音量

标签 html5-audio

我有几个 MP3 文件,每个文件都有两个音频 channel 。我需要在浏览器中播放它们,但要为每个 channel 提供音量控制。我还需要支持 IE 回到 IE9,所以 Web Audio API 似乎是不可能的。 HTML5 音频是否可行?我查看了几个插件,但没有一个能满足我的需求。

最佳答案

在答案中格式化它:

html5 音频还不可能。也许是 Flash,但另一个技巧是将 channel 拆分为两个单独的文件(因此服务器流式传输两个文件而不是一个文件)。我在想 mediaGroup解决方案,但我的浏览器 (Chrome dev) 无法识别它(而且我几乎找不到任何关于它的文档)。

此外,这只是选择向用户播放哪个声道(或它们之间的混合),还是您还想播放左声道,例如仅向左扬声器播放?

我建议您使用事件监听器来同步播放和暂停音频。这样您就不需要保存切换状态等,它只会使代码保持干净、简单并且可以正常工作。

function play() {
    p1.play();
    p2.play();
}
function pause() {
    p1.pause();
    p2.pause();
}
p1.onplay = play();
p2.onplay = play();
p1.onpause = pause();
p2.onpause = pause();

这只是确保无论何时两个玩家中的一个开始或停止,他们都开始/停止。

我已经放了一个简单的 example这还不完整,音频文件的长度不一样,也不包含相同的声音。它应该提供一个良好的基础并包含一种方法。由于我不了解您的 Javascript 技能,因此代码中没有注释,但请随时询问对它们的任何解释。

关于html5-audio - 修改 HTML5 音频中特定 channel 的音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24089080/

相关文章:

javascript - 使用 rtc 的 Firefox createMediaStreamDestination 错误?

html - Videogular不支持flac音频文件

javascript - 即使音频上下文处于运行状态,音频元素的播放 promise 也会被拒绝

jquery - mediaelement.js 改变皮肤

javascript - 我可以使用 javascript 仅从右/左耳机获得声音吗?

javascript - 如何不断更新我正在使用JS播放的mp3文件的持续时间?进度栏不起作用

javascript - 如何发送 AJAX POST 请求并在响应中播放音频?

javascript - Web Audio API 附加/连接不同的 AudioBuffers 并将它们作为一首歌曲播放

javascript - 有没有办法从音频文件中获取诸如分贝级别之类的信息并将该信息转换为 json 数组?

javascript - Chrome 使用 AudioContext 时更改音频元素源的问题