Bonjour, je suis entrain de réaliser un player pour une radio et j'ai un problème avec mon js. Mon slider de volume ne change pas le volume.
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'http://92.222.227.163:8000/stream.mp3');
audioElement.volume=0.5;
function play(){
$('#play').addClass('hide');
$('#stop').removeClass('hide');
audioElement.load();
audioElement.play();
}
function stop(){
$('#stop').addClass('hide');
$('#play').removeClass('hide');
audioElement.pause();
}
$("#volume").slider({
value : 75,
step : 1,
range : 'min',
min : 0,
max : 100,
slide : function(){
var value = $("#volume").slider("value");
document.getElementById("audio").volume = (value / 100);
}
});
<input id="volume" data-slider-id='volume' type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-tooltip="hide"/>
merci
Tiens j'ai fait ça en 2 minutes, c'est pas top top mais ça fait le job: http://codepen.io/betaweb/pen/LpPwLO
MMh tu aurais un exemple de ton script en ligne pour qu'on puisse essayer et voir ce qui pourrait aller mal ?
Salut,
Tu utilises une lib pour ton slider ? Il n'y a pas un event 'onChange' afin de catcher le changement de valeur du slider ?
Bonsoir,
@Lartak, non du tout http://prntscr.com/8acsne
@betaWeb oui, je ne sais pas du tout :/
Voici un copié/collé du HTML généré :
<li>
<a>
<div class="slider slider-horizontal" id="volume" style="width: 139px;">
<div class="slider-track">
<div class="slider-selection" style="left: 0%; width: 75%;"></div>
<div class="slider-handle round" style="left: 75%;"></div>
<div class="slider-handle round hide" style="left: 0%;"></div>
</div>
<div class="tooltip top hide" style="top: -30px; left: 89.25px;">
<div class="tooltip-arrow"></div>
<div class="tooltip-inner">75</div>
</div>
<input id="volume" data-slider-id="volume" type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-tooltip="hide">
</div>
</a>
</li>
Essaye l'event 'slideStop' à la limite, mais la documentation est un peu pourrie je trouve.
Je te conseille celui-ci, il est plutôt complet: http://refreshless.com/nouislider/
Edit: @Lartak +1
@betaWeb, petit problème avec nouislider http://prntscr.com/8ad2bl
sympa cette librairie :p
@betaWeb, ah okay, c'est bon, je lui est mis une largeur. Comment je peut faire pour que le slider modifie le volume?
slider.noUiSlider.on('slide', function() {
// ton code
});
@betaWeb, désolé je suis vraiment nul en js
slider.noUiSlider.on('slide', function() {
audio.volume = ui.value;
});