【发布时间】:2014-05-27 03:52:12
【问题描述】:
我有一个包含 6 个通道的 AAC 文件。如果我直接在浏览器中打开它,我会听到所有 6 个通道被缩混以在我的立体声扬声器上播放。如果我通过 Web Audio API 播放,我只能听到左右声道。
我正在加载缓冲区,创建一个 AudioBufferSourceNode,将缓冲区分配给它,然后连接到 AudioContext 的目的地。
从我的控制台:
> buffer.numberOfChannels
6
> source.channelCount
2
> source.channelCountMode
"max"
> source.channelInterpretation
"speakers"
> context.destination
AudioDestinationNode {maxChannelCount: 2, channelInterpretation: "speakers", channelCountMode: "explicit", channelCount: 2, numberOfOutputs: 0…}
这是因为destination.channelCountMode 是explicit 而我听不到其他频道的原因吗?
有什么方法可以改变它或让 AudioContext 使用它的down-mixing logic?
我创建了一个 simple jsFiddle example 来显示设置。如果您直接下载该文件,您会听到 6 个通道下混成 2 个,但如果您通过 Web Audio Context 运行它则不会。
【问题讨论】:
-
Web 音频 API 应该可以满足您的需求。您能否在示例中提供代码的 jsfiddle ?
-
+1。发个文件,我去看看。
-
谢谢。我添加了一个 jsFiddle。
-
@Florestan06 让我知道这是否足以工作。
标签: javascript audio web-audio-api channels