Как вы воспроизводите звук в веб-браузере? - PullRequest
4 голосов
/ 15 сентября 2010

Как воспроизвести звук в веб-браузере в качестве уведомления?

Ответы [ 5 ]

6 голосов
/ 15 сентября 2010

Вы можете использовать тег <audio> в сочетании с JavaScript для воспроизведения звуков в данный момент времени.Конечно, вам понадобится JavaScript, так как он выполняется на внешнем интерфейсе, а следовательно, и при программировании на стороне клиента.

Например,

<audio style="display: none;" id="notification" preload src="path/to/soundfile">

Затем для сценариев поместитеэто где-то в любой части вашего скрипта, для которой требуется звуковое оповещение:

document.getElementById('notification').play();

Для тех, кто рекомендует Flash, поскольку он поддерживается в IE, обратите внимание изящная деградация , где дляважные вещи (например, звуковое оповещение) мы предпочитаем использовать новые рекомендованные технологии, которые работают в большинстве браузеров, вместо того, чтобы использовать хакерские, небезопасные методы, чтобы заставить все браузеры работать.

1 голос
/ 15 сентября 2010

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

Вот еще один SO-пост, который имеет дело с этим:

Кросс-платформенный, кросс-браузерный способ воспроизведения звука из Javascript?

1 голос
/ 15 сентября 2010

В HTML5 вы можете использовать немного javascript и тег <audio>.

У меня есть пример на моем сайте: http://www.khaaaaan.com

JavaScript:

<script type="text/javascript">
function soundPlay(which)
{
    var audio = document.getElementById(which);
    audio.play();
}
</script>

Кнопка, которая активирует звук:

<input type="button" class="khaaaaan" onclick="soundPlay('khaaaaan');" Text="KHAAAAAN!" title="CLICK MEEEEEEEEE!" />

А потом аудио-тег

<audio src="khaaaaan.wav" autobuffer="autobuffer" id="khaaaaan" />

Это также работает (использовал его до <audio> -скрипт :)

Кроссплатформенный, кросс-браузерный способ воспроизведения звука из Javascript?

0 голосов
/ 15 сентября 2010

Вы также можете встроить виджет Flash, который может выполнять все виды других полезных действий одновременно, включая отслеживание того, сколько раз пользователь вызывал звуковое приглашение, или предоставлять интерфейс для отключения таких слуховых запросов.Использование Flash также предоставит вам возможности потоковой передачи и локальное хранилище данных Flash cookie.

0 голосов
/ 15 сентября 2010

Хотя вы можете сделать это с помощью аудио тега, он не будет работать в браузерах, которые не поддерживают HTML5.Самый простой способ сделать это будет использовать ...

<embed src="1.mp3" width="200" height="55" autostart="true" loop="true" style="visibility:none; position:fixed;">

Это использует плеер по умолчанию.Например: Media Player в Windows.

Но стандартным способом является использование flash

Учебное пособие можно найти здесь .

Это также работает во всехвеб-браузеры IE4 +, Firefox (все), Chrome ... И не зависят от HTML 5 или Flash и используют проигрыватель по умолчанию, который всегда есть.

Примечание: тег EMBED не является частьюспецификации HTML 4 или xHTML 1, но они все еще широко поддерживаются современными браузерами.В отличие от других тегов, атрибуты, используемые тегом EMBED, зависят от типа используемого плагина (эта странная концепция свободных атрибутов объясняет, почему тег EMBED был отклонен создателями стандартов HTML).

Но это решает проблемы :)

...