У меня есть файл AAC с 6 каналами. Если я открываю его непосредственно в браузере, я слышу все 6 каналов, смешанных для воспроизведения на стереодинамиках. Если я воспроизведу его через API веб-аудио, я слышу только левый и правый каналы.Каналы 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.
API веб-аудио должен делать то, что вы ищете. Можете ли вы предоставить jsfiddle вашего кода с образцом? –
+1. Отправьте файл, я посмотрю. – cwilso
Спасибо. Я добавил jsFiddle. – pr1001