Кросс-платформенный, кросс-браузерный способ воспроизведения звука с использованием jQuery 1.4?
Я пытаюсь заставить jQuery воспроизводить звук при наведении/щелчке элемента. (Это как флеш-сайт без вспышки)
Я пробовал методы, рекомендованные в Кросс-платформенный, кросс-браузерный способ воспроизведения звука из Javascript?, плагин jQuery Sound и несколько других учебных пособий без каких-либо успехов. Я предполагаю, что это происходит потому, что они не обновлялись с 2008 года.
Есть ли у кого-нибудь рекомендации?
Ответы
Ответ 1
Не нужно ни одного из них. HTML-тег в сочетании с JavaScript сделает трюк.
<audio id="soundHandle" style="display: none;"></audio>
<script>
soundHandle = document.getElementById('soundHandle');
soundHandle.src = '/blah/blah.mp3';
soundHandle.play();
</script>
Ответ 2
На самом деле это невозможно сделать по-настоящему кросс-браузерному способу, так как, например, iPhone будет воспроизводить звук только на специальной странице игрока. Однако некоторые из плагинов в других ответах должны выполнять эту работу для большинства (настольных) браузеров.
Ответ 3
Звуковой тег не работал у меня в некоторых браузерах, так вот как я это сделал:
function playBuzzer(){
$("body").append("<embed src='/web/sounds/Buzz.mp3' autostart='true' loop='false' width='2' height='0'></embed>");
}
Всякий раз, когда я хочу играть звук (onmouseover, onclick, onload...), я вызываю эту функцию.
Ответ 4
попробуйте следующее: http://swaggplayer.no.de/demos
он использует вспышку для воспроизведения звука
или этот
http://www.schillmania.com/projects/soundmanager2/
Ответ 5
http://codecanyon.net/item/fancy-music-player-v20-jquery-plugin/498071?ref=1stwebdesigner
Игрок работает так: сначала он обнаруживает, установлен ли Flash Player 9 или выше. Если да, будет использоваться скрытый флеш-фильм (swf), который связывается через javascript с пользовательским интерфейсом HTML. Если Flash Player не установлен, будет использован новый движок HTML5, который поддерживается всеми iToys (iPhone, iPad и т.д.).