Как воспроизвести звук в JavaScript без использования тега <audio>? - PullRequest
3 голосов
/ 19 августа 2011

Как воспроизводить звук только с использованием JavaScript, без использования тега <audio>?

Я использую:

var audio = {};
audio["walk"] = new Audio();
audio["walk"].src = "Scr/dave.wma"
audio["walk"].load()
setTimeout('audio["walk"].play()',1000);

Но это не играет?

Ответы [ 2 ]

6 голосов
/ 19 августа 2011

Ни один браузер не поддерживает формат Windows Media Audio.

Вы должны использовать форматы Ogg Vorbis, MP3 и Wave.

Вот таблица поддержки аудиоформатов в пяти основных браузерах.:

                     Ogg Vorbis        MP3        Wave
Firefox                  *                          *
Safari                                  *           *
Chrome                   *              *
Opera                    *                          *
Internet Explorer                       *           *

Обратите внимание: приведенная выше таблица может быть устаревшей.

Кроме того, как сказал alex, операторы асинхронны и не ждут загрузки аудиофайла.Вам нужно будет прослушать событие load и вызвать play в обработчике события.

2 голосов
/ 19 августа 2011

Как и Делан говорит , ни один браузер не поддерживает WMA.

Однако в вашем коде все еще есть проблема.

Вам нужно дождаться загрузки audio.

var audio = {};
audio["walk"] = new Audio();
audio["walk"].src = "Scr/dave.wma"
audio["walk"].addEventListener('load', function() {
    audio["walk"].play();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...