Я знаю, как decodeAudioData из AudioContext .
Чего я не знаю, так это как обработать возвращенный AudioBuffer из decodeAudioData .
Предположим, у нас есть некоторые возвращенные AudioBuffer
{
length: 12012146,
duration: 250.25304166666666,
sampleRate: 48000,
numberOfChannels: 2
}
Теперь я могу getChannelData () из AudioBuffer , что дает мне массив с длиной AudioBuffer.length .
Я знаю продолжительность в AudioBuffer равен AudioBuffer.length / AudioBuffer.sampleRate
.
Я хотел бы создать функцию, которая ожидает переменную time (в секундах) и затем возвращает данные из AudioBuffer.getChannelData () на основе этой переменной.
Так что я бы назвал getChannelDataFromTime(seconds)
, и он вернул бы мне массив (для меня) неизвестного размера.
Я что-то упустил, что облегчит мою работу?