звук не воспроизводится и консоль не работает

Я хочу, чтобы на моем сайте был другой звуковой сигнал, но он не работает

<body>

<!-- html work-->

    <audio id="beep-07" src="../audio/beep-07.wav" autostart="false"></audio>
    <audio id="button-3" src="../audio/button-3.wav" autostart="false"></audio>
    <button onclick="playsound('beep-07')">beep-07</button> 
    <button onclick="playsound('button-3')">button-3</button> 

<!-- js work-->

<script>
    function playsound(name) {
        var sound = document.getElementById(name);
        sound.play();
        console.log(sound,name,"1");
    }
</script>

</body>

Кто-нибудь знает, почему это не работает, как ожидалось? Кстати, в консольном логе тоже ничего не выводится! Кто-нибудь знает почему? обновление О, ребята, мне очень жаль! Проблема была в простой опечатке в коде! Спасибо за вашу помощь! Мне очень жаль!


person yukashima huksay    schedule 27.08.2015    source источник
comment
Какие-то ошибки в консоли? Кнопки находятся в форме в вашем реальном коде?   -  person Teemu    schedule 27.08.2015
comment
Да, не пойманный TypeError: Невозможно прочитать свойство "играть" с нулевым значением   -  person yukashima huksay    schedule 27.08.2015
comment
нет, я думаю, вы имеете в виду проблему, упомянутую в другом ответе, если да, прочитайте мой комментарий :)   -  person yukashima huksay    schedule 27.08.2015


Ответы (3)


Пытаться:

<button onclick="playsound('beep-07')">beep-07</button>
<button onclick="playsound('button-3')">button-3</button>

Вы можете прочитать о вложенных кавычках и апострофах в этом stackoverflow нить.

person ROAL    schedule 27.08.2015
comment
Это не имело значения, что вы имеете в виду? Вы имеете в виду, что я должен использовать « вместо «Вы уверены, что между ними есть разница?» - person yukashima huksay; 27.08.2015
comment
О да! я понял! но дело в том, что в моем коде функция не вызывается с помощью кнопки, она вызывается в другой функции с одной единственной строкой: playsound (beep-07), так что для меня это не проблема :) спасибо за ваш ответ и извините за ошибку, я сейчас отредактирую вопрос;) - person yukashima huksay; 27.08.2015
comment
Разница в том, что запись onclick="playsound("beep-07")" слишком рано заканчивает всю onclick. Браузер интерпретирует его как playsound( (от первого " до следующего "), что неверно. Если вы не используете его таким образом, то это не проблема, конечно. - person ROAL; 27.08.2015

 function playsound(name) {
        var sound = document.getElementById(name);
        sound.play();
    }
<audio id="beep-07" src="http://www.soundjay.com/button/beep-07.wav" autostart="false"></audio>
    <audio id="button-3" src="../audio/button-3.wav" autostart="false"></audio>
<button onclick="playsound('beep-07')">beep-07</button> 

Попробуй это:

  function playSound () {
        document.getElementById('beep-07').play();
    }
    <audio id="beep-07" src="http://www.soundjay.com/button/beep-07.wav"></audio>
    <button onclick="playSound()">beep-07</button>

  

person Rahul Tripathi    schedule 27.08.2015
comment
Да, это так работает, я знаю! Но я хочу иметь другой звук и одну функцию :) - person yukashima huksay; 27.08.2015
comment
@aran: - Как сказал ROAL, вы можете сделать это, просто изменив кавычки. Смотрите отредактированный ответ. Оно работает - person Rahul Tripathi; 27.08.2015

Ваш код абсолютно в порядке, но немного ошибся. Попробуй это

<button onclick="playsound('beep-07')">beep-07</button> 
<button onclick="playsound('button-3')">button-3</button> 

Благодарю вас

person Jakarea Parvez    schedule 27.08.2015