Потоковое аудио искажается при воспроизведении в мобильном сафари в iOS - PullRequest
2 голосов
/ 29 сентября 2019

Мы размещаем mp3 файлы на AWS s3. Мы создали веб-приложение (в React), которое будет воспроизводить mp3-файлы. Однако иногда он искажается при воспроизведении в Safari на iOS. Странно то, что это не происходит постоянно.

Теперь это искажение происходит только при воспроизведении через наше приложение. Когда мы предоставляем прямую ссылку на s3 (как я сделал выше), это работает. Искажение также происходит при соединении напрямую с s3 в нашем приложении.

Вот несколько идей:

  • Файл mp3 поврежден
  • При переходе непосредственно к S3Ссылка, он загружается полностью, что, кажется, позволяет mp3 файл отлично играть

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 01 октября 2019

Частота дискретизации в этом файле MP3 составляет 16 кГц. Это очень низкое значение (не ненормальное для голоса), но также нехарактерно низкое для 128k MP3. Я подозреваю, что есть ошибка с ресэмплером (поскольку аппаратное обеспечение iPhone в любом случае заблокировано на 48 кГц), или что вы сталкиваетесь с ошибкой в ​​крайнем случае с декодером.

Я бы рекомендовал вам прекратить использованиеMP3 и решить несколько вещей одновременно. Хотя MP3 имеет приемлемое качество, его качество для данного битрейта не так хорошо, как альтернативы. В эти дни вы должны рассмотреть возможность использования Opus. Он поддерживается на iOS, если мультиплексирован в файл CAF, и чрезвычайно эффективен. Вы можете снизить битрейт до 48k для голоса и при этом иметь отличное качество. И вы обойдете любую проблему, связанную с повторной выборкой или декодированием, и все это сразу.

...