|
@@ -78,9 +78,10 @@ export default class Crunker {
|
|
|
const output = this._context.createBuffer(this._maxNumberOfChannels(buffers), this._sampleRate * this._maxDuration(buffers), this._sampleRate)
|
|
|
buffers.forEach((buffer, index) => {
|
|
|
const offsetNum = Math.round(times[index] * this._sampleRate)
|
|
|
- for (let channelNumber = 0; channelNumber < buffer.numberOfChannels; channelNumber++) {
|
|
|
+ for (let channelNumber = 0; channelNumber < output.numberOfChannels; channelNumber++) {
|
|
|
const outputData = output.getChannelData(channelNumber)
|
|
|
- const bufferData = buffer.getChannelData(channelNumber)
|
|
|
+
|
|
|
+ const bufferData = buffer.getChannelData(buffer.numberOfChannels < 2 ? 0 : channelNumber)
|
|
|
for (let i = bufferData.length - 1; i >= 0; i--) {
|
|
|
|
|
|
const combinedValue = outputData[i + offsetNum] + bufferData[i]
|