HTML5 <audio> avec la lecture de fade in et fade out
J'aimerais démarrer et arrêter la lecture de HTML5 dans une position aléatoire avec fade in et fade out périodes de lisser l'expérience d'écoute.
Ce type de mécanismes existe pour cela? Manuellement rampe pour monter le volume avec setTimeout()?
Vous devez vous connecter pour publier un commentaire.
Le jQuery façon...
Edit: où $audio est un jQuery-enveloppé élément audio et newVolume est un double entre 0 et 1.
Edit: L'élément de médias efficaces volume est le volume, interprété par rapport à la gamme 0.0 à 1.0, 0.0 silencieux, et de 1,0 être le plus fort réglage, les valeurs entre l'augmentation de l'intensité sonore. La gamme n'a pas besoin d'être linéaire. http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#effective-media-volume
Edit: les Gens sont à poster à la vanille implémentations de JavaScript, donc je vais la poster à la vanille, Tapuscrit celui qui préserve le jQuery swing animation (juste dépouiller le type d'info si vous voulez exécuter le JavaScript). Avertissement, ce qui est totalement non testé:
newVolume=0.2
? @mrjedmaoVieille question, mais si quelqu'un est à la recherche d'un vanilla JS façon de faire ce que je viens de mettre quelque chose en place pour le projet et j'ai pensé à la poster ici depuis ma recherche d'une solution en vain. Si vous travaillez déjà avec une vidéo ou un son élément, il ya une bonne chance que vous n'avez pas vraiment besoin d'utiliser jQuery pour le contrôle de l'objet, de toute façon.
Cette version ne permet pas pour l'édition de l'fadeout temps (2 secondes) mais vous pouvez assez facilement argumentize il. Entièrement generisize ce, de la logique supplémentaire serait nécessaire pour d'abord vérifier ce que le volume a été mis en place dans le but de connaître le facteur de fondu de sortie. Dans notre cas, nous prérégler le volume à 1 déjà pour le navigateur et le volume de contrôle est en dehors de la utilisateurs mains comme c'est pour un diaporama de chose donc il n'était pas nécessaire.
Pour se rendre à une partie spécifique de l'audio que vous voulez vérifier le seekable timerange et il suffit de régler le currentTime de façon aléatoire en fonction de ce qui est disponible.
J'ai créé un simple lib cela à l'aide de setTimeout().
Code Source est disponible ici:
https://github.com/miohtama/Krusovice/blob/master/src/tools/fade.js
Ici sont un couple de fonctions de fondu de sortie courant de la chanson et de fade-in nouvelle chanson.
HTML:
Javascript:
C'est une simple fonction de délai pour la décoloration de l'audio (de 0 à 100 dans ce cas). Il utilise une variable globale. Encore aux prises avec l'ensemble du paquet si. Je vais certainement être de vérifier sfjedi de jQuery façon.
setTimeout
au lieu desetInterval
? Dans votre cas, vous êtes à la création de plus et de plus en plus les intervalles de chaque fois que vous appelezFadeIn()
qui n'obtiennent jamais annulée. Finalement, ils sont tout simplement courir dans le dos et de ne rien faire une fois le volume atteint100
.