Я работаю на сервере потоковой передачи музыки. Прямо сейчас я хочу отправить файл MP3 порциями с сервера на клиент (через запрос / ответ http-диапазона). Мой клиент успешно декодирует данные ответа и воспроизводит музыкальный фрагмент после фрагмента (фиксированный размер в байтах), но между каждым фрагментом есть заикающийся звук (короткий, но заметный).
Версия кодирования файла MP3 - MPEG-1 и уровень 3. Я читал о формате MP3 в этой статье , я заметил, что в слое 3 кадры не являются независимыми (так называемый бит /байт-накопитель) и они специально сказали:
В худшем случае может потребоваться 9 входных кадров, прежде чем можно будет декодировать один кадр
Причина, по которой я использую http-страница запроса заключается в том, что после проверки Spotify передачи по сети (Chrome dev-tool) я копирую их метод для запроса частичного содержимого. Длина запрашиваемого ими байта составляет приблизительно 166000, но не является фиксированной (иногда 166287, 16682 ... байтов)
Вопрос:
Имеет ли Spotify разделить их файл на приблизительный (не фиксированный) размер блока?
Если это так, как мне правильно разделить этот файл MPEG-1 Layer 3 правильно для потоковой передачи?