Я работаю над проигрывателем модов, который представляет собой аудиофайл с 4 разными дорожками (каналами), используя webaudio / audioWorkletNode.
У меня он работал правильно, используя 2-канальный (стерео) аудио узел:
- каналы (треки) 0 и 3 микшируются в левый канал
- каналы (треки) 1 и 2 микшируются в правый канал
Проблема в том, что я хотел бы проанализировать и показать отображение формы волны для каждой из дорожек (так что должно быть 4 разных анализатора).
У меня была идея создать audioWorkletNode с параметром outputChannelCount, установленным на [4], подключить анализатор к каждому из четырех каналов узла, а затем использовать channelMerger для микширования его в 2 стереоканала.
Поэтому я использовал следующий код, ожидая, что он создаст узел с 4 каналами:
let node = new AudioWorkletNode (контекст, 'процессор', {outputChannelCount: [4]});
Но параметр outputChannelCount, похоже, игнорируется. Независимо от того, что я указываю, в итоге установлено 2 канала.
Есть ли способ сделать это по-другому, или я должен заниматься анализом сам, используя свой собственный анализатор?