Я пытаюсь использовать decodeAudioData для декодирования и воспроизведения начальной части большого mp3-файла в javascript. Мой первый, грубый подход заключался в том, чтобы отрезать несколько байтов от начала mp3 и передать их в decodeAudioData. Неудивительно, что это не удается.
После некоторого копания кажется, что decodeAudioData может работать только с «действительными фрагментами mp3», как задокументировано Fair Dinkum Thinkum, здесь а>.
Однако нет никаких разъяснений о структуре действительного mp3-чанка (автор вышеупомянутого не вникает в это). Я знаю о различных сплиттерах mp3, которые существуют, но я хотел бы подойти к этому программно. (Я пытаюсь реализовать своего рода «потоковую передачу для бедных», используя nodejs на стороне сервера).
Итак, будет ли достаточно разбиения на заголовки кадров mp3 или мне нужно сделать больше? (возможно, «закрывая» каждый фрагмент, добавляя некоторые данные в конце?) Как насчет «резервуара байтов»? Это вызовет проблемы? Для справки, сейчас я работаю с cbr mp3 со скоростью 128 кбит/с. Это как-то упростит процесс?
Будем признательны за любую информацию о том, что decodeAudioData ожидает в качестве действительных данных.
Спасибо.
PS: я понимаю, что это, возможно, запрос на разъяснение post, но моя низкая репутация не позволяет мне публиковать комментарии. Поэтому я не вижу, как еще это сделать, но с новым вопросом. Еще раз спасибо.