UNPKG

extendable-media-recorder-wav-encoder-worker

Version:
18 lines (17 loc) 842 B
export const encodeHeader = (dataView, bitRate, numberOfChannels, numberOfSamples, sampleRate) => { const bytesPerSample = bitRate >> 3; const dataChunkSize = Math.min(numberOfSamples * numberOfChannels * bytesPerSample, 4294967251); dataView.setUint32(0, 1380533830); dataView.setUint32(4, dataChunkSize + 36, true); dataView.setUint32(8, 1463899717); dataView.setUint32(12, 1718449184); dataView.setUint32(16, 16, true); dataView.setUint16(20, 1, true); dataView.setUint16(22, numberOfChannels, true); dataView.setUint32(24, sampleRate, true); dataView.setUint32(28, sampleRate * numberOfChannels * bytesPerSample, true); dataView.setUint16(32, numberOfChannels * bytesPerSample, true); dataView.setUint16(34, bitRate, true); dataView.setUint32(36, 1684108385); dataView.setUint32(40, dataChunkSize, true); };