HTML 5 - Воспроизведение крошечного mp3 в режиме онлайн

Я хочу воспроизвести mp3 с поддержкой аудио HTML 5. Я пытался использовать звуковой тег, но теперь я делаю это с помощью javascript.

Мой «Проигрыватель» будет просто крошечным изображением воспроизведения, которое при нажатии воспроизводит звук (не все управление звуком с прогрессом).

Я пытаюсь воспроизвести его с помощью javascript.

function playmp3(url){
   var audioElement = document.createElement('audio');
   audioElement.setAttribute('src', url);
   audioElement.load();
   audioElement.play();
}

Это мой код, и он не работает. Он выполняется нормально, когда я нажимаю изображение, которое является моей кнопкой воспроизведения.

URL — это строка, содержащая URL-адрес файла.

Я тестирую в новейших версиях Chrome и FF.


person Tony    schedule 02.01.2012    source источник
comment
Вы хотите воспроизвести видео, но оно в формате mp3 и вы используете аудиотег? Я смущен.   -  person Michael Berry    schedule 02.01.2012
comment
Вы хотите сказать, что видите неправильные элементы управления? Как выглядит ваш аудиотег? Можете ли вы опубликовать несколько примеров кода?   -  person Seth    schedule 02.01.2012
comment
Ваш браузер поддерживает mp3?   -  person Michas    schedule 02.01.2012
comment
@berry120 Это была ошибка, она исправлена. Нет тега видео. Я просто хочу воспроизвести аудио.   -  person Tony    schedule 02.01.2012
comment
@Seth Я удалил тег audio и пытаюсь сделать все с помощью javascript.   -  person Tony    schedule 02.01.2012
comment
@Michas Я использую последние версии Chrome и Firefox.   -  person Tony    schedule 02.01.2012
comment
Firefox не поддерживает mp3 из-за проблем с патентами США. Поддержка в Chrome является (была?) экспериментальной и может быть (была?) прекращена. Можно написать весь декодер на чистом JavaScript, это жестко. Ну много кода. github.com/nddrylliog/jsmad Если вы хотите воспроизвести звук в Firefox или Chrome, вы можете использовать Ogg Вробис. Этот аудиоформат поддерживается.   -  person Michas    schedule 03.01.2012


Ответы (1)


Попытка прослушивания события canplay перед попыткой воспроизведения мп3. Вот пример того, как это сделать:

function playmp3(url){
    var audioElement = document.createElement('audio');
    audioElement.setAttribute('src', url);
    audioElement.load();
    audioElement.addEventListener("canplay", function() {
        audioElement.play();
    });
}

Событие canplay запускается, когда браузер может начать воспроизведение mp3, но это не гарантирует, что он сможет воспроизвести mp3 до конца. Если это не соответствует вашим целям, вы можете прослушать несколько других связанных событий, таких как loadeddata и canplaythrough.

person Xavi    schedule 02.01.2012