Я рассматривал такие возможности, как Media Source API, но он не поддерживается Safari и Chrome на IOS, не так ли? Но нам нужна эта поддержка.
Тогда вы не сможете использовать расширения MediaSource. Спасибо, Apple!
И сервер отправляет фрагменты данных (из-за веб-сокетов) в Интернет.
Без расширений MediaSource у вас нет возможности использовать эти данные из подключение к веб-сокету. (Если это не PCM или вы не декодируете его в PCM, и в этом случае вы можете использовать API веб-аудио, но это совершенно непрактично, неэффективно и не то, к чему вам следует стремиться.)
Вы должны изменить способ потоковой передачи. У вас есть несколько вариантов:
Лучший вариант: HLS
Если вы переключитесь на HLS, вы получите необходимую совместимость, а также возможность go назад во времени и что нет. Это то, что вам следует делать.
Посредственный вариант: HTTP Progressive
Это прекрасный способ потоковой передачи для большинства случаев использования, но нет встроенного способа обработки поиска потока что ты хочешь. Вам придется построить его, что не стоит вашего времени, поскольку вы можете просто использовать HLS.
Еще более посредственный вариант: WebRT C
Вы можете переключиться на WebRT C для потоковой передачи, но вы значительно увеличили затраты на инфраструктуру и сложность. И вам все еще нужно выяснить, как вы собираетесь справляться с поиском. Единственная причина, по которой вы захотите использовать go маршрут WebRT C, - это если вам абсолютно необходима минимальная задержка.