Я использую decodeAudioData
AudioContext
в mp3-файле, что дает мне AudioBuffer
. С помощью этого звукового буфера я продолжаю рисовать форму волны этого mp3-файла на холсте, используя данные, возвращенные getChannelData()
.
Теперь я хочу использовать тот же код для рисования формы волны аудиоданных MediaStream
, что означает, что мне нужны такие же входные данные/данные. Я знаю, что MediaStream
содержит информацию в реальном времени, но должен быть способ получить доступ ко всем новым данным из MediaStream
как
Float32Array, содержащий данные PCM
это то, что возвращает getChannelData
AudioBuffer
.
Я пытался обернуть MediaStream
в MediaStreamAudioSourceNode
и передать его в AnalyserNode
, чтобы использовать getFloatFrequencyData()
(который возвращает Float32Array
), но я могу сказать, что данные отличаются от данных, которые я получаю от getChannelData()
. Может быть, это не данные "PCM"? Как я могу получить данные "PCM"?
Надеюсь, это понятно. Спасибо за помощь!