Проблема при записи звука через браузер

В настоящее время я работаю над аудиозаписью через веб-браузер (формат.wav), и в настоящее время мы используем следующий код для начала записи и передачи данных через сокет:

async start () {
this.stream = await navigator.mediaDevices.getUserMedia({
  audio: true,
  video: false
})
this.audioCtx = new AudioContext()
const source = this.audioCtx.createMediaStreamSource(this.stream)
const scriptProcessor = this.audioCtx.createScriptProcessor(0, 1, 1)
source.connect(scriptProcessor)
scriptProcessor.connect(this.audioCtx.destination)
scriptProcessor.onaudioprocess = event => {
  this.emit('record', event.inputBuffer.getChannelData(0))
}
return {
  device: this.stream.getAudioTracks().length && this.stream.getAudioTracks()[0].label || 'Unknown',
  sampleRate: this.audioCtx.sampleRate
}

Хотя это, кажется, работает хорошо, кажется, что случайные, тихие последовательности вставляются в испускаемые данные (~8 последовательных кадров, выборка). Похоже, это не связано с аппаратным обеспечением, поскольку у нас одна и та же проблема, независимо от используемого микрофона.

Я хотел бы знать, является ли эта проблема способом сбора данных или способа их отправки. (и, возможно, как это исправить)

Спасибо,

0 ответов

Другие вопросы по тегам