Как пользоваться
- Перетащите аудиофайл в область загрузки или нажмите на неё, чтобы выбрать файл: MP3, WAV, OGG, M4A, FLAC или другой формат.
- Прослушайте его в плеере предпросмотра и убедитесь, что это нужный звук.
- Выберите в поле «Формат вывода» вариант «Data URI» для HTML-элемента audio или «Base64» для запроса к API.
- Скопируйте результат или скачайте его в виде файла .txt.
Воспроизведение аудио в Base64 на веб-странице
Data URI со звуковым типом MIME работает везде, где браузер ожидает URL аудиофайла:
<audio controls src="data:audio/mpeg;base64,..."></audio>
// JavaScript: воспроизвести короткий звук по нажатию кнопки
const click = new Audio('data:audio/wav;base64,...');
button.addEventListener('click', () => click.play());
Браузеры обычно не дают запустить звук, пока посетитель не взаимодействовал со страницей, поэтому вызывайте play() из обработчика щелчка или нажатия клавиши, а не при загрузке страницы.
Когда аудио в Base64 уместно
- Короткие звуки интерфейса. Щелчки, сигналы уведомлений и звуки ошибок размером в несколько килобайт можно хранить прямо в бандле JavaScript, и тогда они воспроизводятся мгновенно, без дополнительного запроса.
- Офлайн-приложения и приложения из одного файла. Игры, киоски, пакеты электронного обучения и HTML-отчёты, которые должны работать из одного файла без сервера, могут содержать звуки внутри себя.
- API распознавания речи. Многие облачные сервисы распознавания речи принимают короткую запись в виде поля Base64 в JSON-запросе, часто под именем
contentилиaudio. Обычно они ожидают определённый формат, частоту дискретизации и число каналов. Этот инструмент кодирует файл в точности как есть: он не преобразует формат и не меняет частоту дискретизации. - Тестовые данные. Тесты для кода обработки звука могут хранить крошечный образец в виде строковой константы.
Когда не стоит использовать Base64 для аудио
Base64 увеличивает размер примерно на треть, а браузер должен получить всю строку, прежде чем начнётся воспроизведение. Нет ни потоковой передачи, ни отдельного кеширования, ни range-запросов для перемотки. Пятиминутный MP3 с битрейтом 128 кбит/с занимает около 4,8 МБ, а внутри HTML или JavaScript превращается примерно в 6,4 МБ текста, который загружается заново при каждом изменении этого файла. Для музыки, подкастов и других длинных записей отдавайте обычный аудиофайл. Простое правило: встраивайте только звуки длительностью в несколько секунд.
Аудиоформаты и типы MIME
| Формат | Префикс data URI | Примечания |
|---|---|---|
| MP3 | data:audio/mpeg;base64, | Компактный, воспроизводится во всех браузерах |
| WAV | data:audio/wav;base64, | Без сжатия, большой размер; подходит для очень коротких звуков |
| OGG (Vorbis, Opus) | data:audio/ogg;base64, | Компактный; старые версии Safari его не воспроизводят |
| M4A (AAC) | data:audio/mp4;base64, | Компактный, широко поддерживается |
| FLAC | data:audio/flac;base64, | Без потерь, намного больше, чем MP3 или AAC |
В зависимости от операционной системы для файла может быть указан другой вариант типа, например audio/x-wav или audio/x-m4a. Браузеры, как правило, воспроизводят и такие файлы, а если платформе нужен определённый тип, префикс можно отредактировать.
Часто задаваемые вопросы
Какой тип MIME у MP3 в data URI?
audio/mpeg, поэтому data URI начинается с data:audio/mpeg;base64,. На практике встречается и audio/mp3; некоторые браузеры его принимают, но надёжнее использовать audio/mpeg.Почему плеер предпросмотра не воспроизводит мой файл?
Плеер использует кодеки, встроенные в ваш браузер. Если браузер не поддерживает формат, например OGG в старых версиях Safari, предпросмотр останется беззвучным, но результат в Base64 всё равно будет точной копией файла.
Насколько длинным может быть аудиофрагмент в Base64?
Инструмент кодирует файлы размером до 100 МБ, но для встраивания это слишком много. Для встраивания ограничивайтесь фрагментами в несколько секунд и несколько десятков килобайт. Для API распознавания речи проверьте ограничение для встроенного аудио: оно часто намного ниже, чем для аудио, загруженного в хранилище.
Можно ли здесь преобразовать MP3 в WAV?
Нет. Инструмент кодирует файл как есть, не меняя его формат, битрейт или частоту дискретизации. Сначала преобразуйте аудио в звуковом редакторе или с помощью утилиты командной строки, например FFmpeg, а затем закодируйте результат.
Загружается ли моё аудио на сервер?
Нет. Кодирование и воспроизведение выполняются в вашем браузере, и файл остаётся на вашем устройстве.