OK, he leído varias respuestas aquí, pero no me ayudaron en absoluto (de hecho, ninguna de ellas se acepta como respuesta)
La pregunta es cómo "Reproducir un pitido" en "clic de botón"
Estoy tratando de crear un sitio web que funcione en un dispositivo de pantalla táctil, por lo que quiero que cada evento de clic de botón reproduzca un pitido, eso debería ser más agradable para los usuarios que usan el sitio web. El archivo de sonido del pitido está aquí: http://www.soundjay.com/button/beep-07.wav . Solo necesito este trabajo en Google Chrome (compatible con HTML5)
Entiendo esta necesidad de trabajar en el lado del cliente, así que probé esto:
JavaScript:
<script> function PlaySound(soundObj) { var sound = document.getElementById(soundObj); sound.Play(); } </script>HTML
<embed src="/beep.wav" autostart="false" type="audio/mpeg" loop="false" width="0" height="0" id="beep" enablejavascript="true" /> <asp:LinkButton ID="lbtnExit" runat="server" OnClick="lbtnExit_Click" OnClientClick="PlaySound('beep')" CssClass="btn btn-lg btn-danger" Text="Exit <i class='fa fa-sign-out' style='font-size: 40px'></i>"></asp:LinkButton>Pero no funciona, no pasa nada cuando hago clic en el botón.
Podrías usar una etiqueta de audio como esta:
<audio id="audio" src="http://www.soundjay.com/button/beep-07.wav" autoplay="false" ></audio> <a onclick="playSound();"> Play</a> <script> function playSound() { var sound = document.getElementById("audio"); sound.play(); } </script>Aquí hay un Plunker
Admitiendo que ya tiene algo como <div id='btn'>Click to play!</div> en su html, podría hacerlo tan simple como:
$('#btn').click( () => new Audio('mp3/audio.mp3').play() );Esta es la mejor OMI porque permite hacer clic rápido en el botón (lo que no es posible en otras respuestas en ese momento) y es de una sola línea.
esto funciona bien
function playSound () { document.getElementById('play').play(); } <audio id="play" src="http://www.soundjay.com/button/beep-07.wav"></audio> <button onclick="playSound()">Play</button>