Lorsqu'un certain événement se produit, je souhaite que mon site Web diffuse un bref son de notification à l'utilisateur.
Le son ne doit pas démarrer automatiquement (instantanément) lorsque le site Web est ouvert. Au lieu de cela, il devrait être joué à la demande via JavaScript (lorsque cet événement se produit).
Il est important que cela fonctionne également sur les anciens navigateurs (IE6 et autres).
Donc, fondamentalement, il y a deux questions:
- Quel codec dois-je utiliser?
- Quelle est la meilleure pratique pour intégrer le fichier audio? (
<embed>
vs<object>
vs Flash vs<audio>
)
Réponses:
Cette solution fonctionne sur à peu près tous les navigateurs (même sans Flash installé):
Prise en charge du navigateur
<audio>
(Navigateurs modernes)<embed
> (Repli)Codes utilisés
la source
À partir de 2016, les éléments suivants suffiront (vous n'avez même pas besoin d'intégrer):
En savoir plus ici .
la source
Uncaught (in promise) DOMException
Un autre plugin, pour lire les sons de notification sur les sites Web: Ion.Sound
Avantages:
Configurer le plugin:
la source
Que diriez-vous du lecteur multimédia de Yahoo, il suffit d'intégrer la bibliothèque de Yahoo
Et utilisez-le comme
Pour démarrer automatiquement
la source
display: none
, il ne jouera plus le son. De plus, la médiathèque Yahoo affiche une petite icône «lecture» à gauche du lien.visiblity: hidden;
est votre réponseLire des notifications compatibles avec tous les navigateurs
Comme conseillé par @Tim Tisdall à partir de ce post, vérifiez le plugin Howler.js .
Les navigateurs comme Chrome désactive l'
javascript
exécution lorsqu'ils sont réduits ou inactifs pour améliorer les performances . Mais cela joue des sons de notification même si le navigateur est inactif ou réduit par l'utilisateur.L'espoir aide quelqu'un.
la source
sound.play()
s'exécute-t-il en premier lieu? Howler met-il tous vos setTimeouts dans un wrapper?Utilisez le fichier audio.js qui est un polyfill pour la
<audio>
balise avec repli sur flash.En général, regardez https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills pour les polyfills vers les API HTML 5 .. ( il inclut plus de
<audio>
polyfills )la source
si vous souhaitez appeler un événement sur le code La meilleure façon de le faire est de créer un déclencheur car le navigateur ne répondra pas si l'utilisateur n'est pas sur la page
maintenant vous pouvez déclencher votre bouton lorsque vous voulez jouer du son
la source
ce code provient de talkerscode.Pour un tutoriel complet, visitez http://talkerscode.com/webtricks/play-sound-on-notification-using-javascript-and-php.php
la source
Nous pouvons simplement utiliser l'audio et un objet ensemble comme:
et même en ajoutant
addEventListener
pourplay
etended
la source
J'ai écrit une méthode fonctionnelle propre pour jouer des sons:
la source