Воспроизвести аудио файл из строки в JavaScript - PullRequest
0 голосов
/ 13 мая 2018

У меня есть содержимое файла mp3, сохраненного как переменная (это не должно быть практичным, только для моего небольшого проекта), и я хочу воспроизвести содержимое этой переменной как аудиофайл.Это было бы простой задачей с чем-то вроде узла, но, к сожалению, я должен сделать это полностью на стороне клиента.

Обратите внимание, что я не могу просто сохранить содержимое строки в виде файла mp3, мне нужно иметь возможность воспроизводить его из переменной.

Я изучил это, но из какихЯ нашел, кажется, что это не может быть сделано.Если у кого-нибудь из вас есть решение, я был бы рад услышать его.

1 Ответ

0 голосов
/ 13 мая 2018

Это не очень практично , так как вы собираете очень большие следы памяти в движке JS и, вероятно, вызовете ненужную сборку мусора ... но возможно base64 кодировать MP3 который затем может быть передан в атрибут src тега <audio>.

Поскольку нереально представить кодированный в формате base64 MP3 в ответе, я предоставлю скрипту: https://jsfiddle.net/4t6bg95z/1/

Но суть кода может быть что-то вроде:

var audio = document.getElementById('audio');
audio.src = "data:audio/mp3;base64,..."; //This is a base64 encoded string of an MP3 file

window.beep = function() {
    audio.play();
}

Очевидно, что вместо этого лучше указывать URL для аудиоисточника, так как это предполагаемое использование Audio API.

...