[Javascript] Controler le Volume d'un son (object)

  • Auteur de la discussion Darkodam
  • Date de début

Darkodam

Nouveau membre
Bonjour à tous

J'ai inclus dans ma page le code ci-dessous qui me permet de lire un son que j'ai choisi. Mais j'aimerais controller dynamiquement le volume de ce son via deux boutons + et - ou mieux une barre de volume.
J'ai mis la valeur du volume en % mais je sais qu'on peut mettre une valeur entière. Si je connaissais ses bornes, cela m'aiderai pour le code. Hélas je n'arrive pas à trouver cette information. J'ai cherché sur le net, mais je poste ici en dernier recours. Je vous demande humblement mon aide.

[:chawkiz]

Code:
<object name='jukebox' data='musique/track01.mp3' type='audio/wav' width='0' height='0'>
<param name='autostart' value='false'>
<param name='file' value='musique/track01.mp3'>
<param name='src' value='musique/track01.mp3'>
<param name='loop' value='true'>
<param name='controller' value='true'>
<param name='volume' value='50%'>
<\/object>

Je pensais utiliser quelquechose du genre :

Code:
function volume_plus() {
volum = document.getElementsByTagName("param")[5].getAttribute("value");
if(volum != '100%') volum = volum + 10%;
}

Merci d'avance pour votre aide.
 

KangOl

Grand Maître
tu recois la valeur en temps que chaine de caractère ...
donc faut :
1/ récupere l'attribut (utilises plutot getElementById)
2/ supprimer le dernier caractère de la chaine (%)
3/ convertir en entier
4/ additionner / soustraire 10
5/ retransformer en chaine de caractère
6/ ajouter le caractère '%' à la fin
7/ remmettre le bon attribut au param
 

Darkodam

Nouveau membre
merci, ça marche :

Code:
function volume_plus() {
vol = parseInt(document.getElementsByTagName("param")[5].getAttribute("value")) + 10;
vol = vol.toString(10);
vol = vol + "%";
document.getElementsByTagName("param")[5].setAttribute("value",vol,"false");
}

Par contre il n'actualise pas le son. Il change la valeur du volume, mais je dois changer de morceau pour que le son change "en vrai" :sweat:
 

Darkodam

Nouveau membre
En attendant de trouver comment y remédier, je vais laisser un message sur la page pour informer les gens ^^
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 125
Messages
6 717 792
Membres
1 586 362
Dernier membre
idi-1023
Partager cette page
Haut