Quando um determinado evento ocorre, quero que meu site reproduza um breve som de notificação para o usuário.
O som não deve iniciar automaticamente (instantaneamente) quando o site é aberto. Em vez disso, deve ser reproduzido sob demanda via JavaScript (quando aquele determinado evento ocorre).
É importante que isso também funcione em navegadores mais antigos (IE6 e outros).
Então, basicamente, existem duas questões:
- Qual codec devo usar?
- Qual é a prática recomendada para incorporar o arquivo de áudio? (
<embed>
vs.<object>
Flash vs.<audio>
)
Respostas:
Esta solução funciona em praticamente todos os navegadores (mesmo sem o Flash instalado):
Suporte de navegador
<audio>
(Navegadores modernos)<embed
> (Fallback)Códigos usados
fonte
A partir de 2016, o seguinte será suficiente (você nem precisa incorporar):
Veja mais aqui .
fonte
Uncaught (in promise) DOMException
Mais um plugin para reproduzir sons de notificação em sites: Ion.Sound
Vantagens:
Configure o plugin:
fonte
Que tal o media player do yahoo Basta incorporar a biblioteca do yahoo
E usar como
Para iniciar automaticamente
fonte
display: none
isso, ele não tocará mais o som. Além disso, a biblioteca de mídia do Yahoo mostra um pequeno ícone "play" à esquerda do link.visiblity: hidden;
é sua respostaTocar notificações compatíveis com vários navegadores
Conforme informado por @Tim Tisdall neste post, verifique o plug- in Howler.js .
Navegadores como o Chrome desabilitam a
javascript
execução quando minimizados ou inativos para melhorias de desempenho . Mas isso reproduz sons de notificação mesmo se o navegador estiver inativo ou minimizado pelo usuário.A esperança ajuda alguém.
fonte
sound.play()
executa a chamada ? O howler coloca todos os seus setTimeouts em um wrapper?Use o audio.js que é um polyfill para a
<audio>
tag com fallback para flash.Em geral, veja https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills para polyfills para as APIs HTML 5 .. ( inclui mais
<audio>
polyfills )fonte
se você quiser chamar um evento no código A melhor maneira de fazer isso é criar um gatilho porque o navegador não responderá se o usuário não estiver na página
agora você pode acionar o botão quando quiser tocar o som
fonte
este código é do talkerscode. Para o tutorial completo, visite http://talkerscode.com/webtricks/play-sound-on-notification-using-javascript-and-php.php
fonte
Podemos apenas usar Áudio e um objeto juntos como:
e até mesmo adicionando
addEventListener
paraplay
eended
fonte
Eu escrevi um método funcional limpo para tocar sons:
fonte