Воспроизвести звук с помощью JavaScript - PullRequest
4 голосов
/ 31 января 2012

Я хочу создать таблицу со строкой и кнопкой (которые воспроизводят звук) в каждой строке, и каждая кнопка воспроизводит свой звук.

Я хочу сделать это с помощью этого метода:

<script>
function EvalSound(soundobj) {
  var thissound=document.getElementById(soundobj);
  thissound.Play();
}
</script>

<embed src="success.wav" autostart=false width=1 height=1 id="sound1"
enablejavascript="true">

и это кнопка:

<form>
<input type="button" value="Play Sound" onClick="EvalSound('sound1')">
</form>

проблема в том, что я хочу здесь:

<input type="button" value="Play Sound" onClick="EvalSound('sound1')">

чтобы записать URL файла вместо 'sound1', возможно ли это сделать таким образом? или мне нужно изменить другой материал в коде?

Редактировать:

Я строю скрипт так:

<script>
   function EvalSound(soundobj) {
   var embed = document.createElement('embed');
   embed.setAttribute('width',1);
   embed.setAttribute('height',1);
   embed.setAttribute('src',soundobj);
   embed.setAttribute('autostart', false);
   embed.setAttribute('enablejavascript', true);
   embed.Play();
   }
</script>

и позвоните по этому номеру:

<form>
    <input type="button" value="Play Sound" onClick="EvalSound('sound url')">
</form>

и звук все равно не воспроизводится.

Ответы [ 3 ]

5 голосов
/ 31 января 2012

Вы можете добиться этого следующим образом:

см. Блог Как воспроизводить звук при щелчке мышью или мыши

<script language="javascript" type="text/javascript">
 function playSound(soundfile) {
 document.getElementById("dummy").innerHTML=
 "<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
 }
 </script>

На веб-странице

<span id="dummy"></span>
<a href="#" onclick="playSound('URL to soundfile');">Click here to hear a sound</a>

 <p onmouseover="playSound('URL to soundfile');">Mouse over this text to hear a sound</p>
1 голос
/ 31 января 2012

ПРИМЕЧАНИЕ. Это не HTML5.Вы можете получить источник с thissound.src.Затем вы можете добавить его в DOM в любом месте, куда бы вы хотели поместить его.

0 голосов
/ 31 января 2012

Вы можете использовать инфраструктуру javascript, чтобы сделать ваш код проще. Взгляните на страницу сценариев:

http://madrobby.github.com/scriptaculous/sound/

Насколько мне известно, jQuery не очень подходит для звука, однако, я думаю, что для этого есть плагины.

Тогда вы можете поместить свои звуковые файлы в виде ссылок или ссылок 'rel', иметь на кнопках наблюдателей и воспроизводить их с совершенно чистым HTML и небольшим количеством скриптов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...