2015-11-28 2 views
1

Я работаю над аудио-слайдером для jquery player, цель состоит в том, чтобы заставить аудио-слайдер управлять громкостью. Аудиоплеер запускается с использованием JQuery вместо звуковых тегов и имеет класс .play По какой-то причине слайдер не меняет громкость.JQuery Slider, который управляет звуковым проигрывателем jQuery

Edit: Рабочий раствор - http://jsfiddle.net/jeffd/2fjnmdkb/2/

JS Fiddle: http://jsfiddle.net/jeffd/2fjnmdkb/1/

$(".play").on('click', function() { 
    var key = $(this).attr('key'); 
    EvalSound(this, key); 
    var this_play = $(this); 
    $(".play").each(function() { 
     if ($(this)[0] != this_play[0]) { 
      $(this).removeClass("pause"); 
     } 
    }); 
    $(this).toggleClass("pause"); 
}); 

var thissound = new Audio(); 
var currentKey; 

function EvalSound(el, key) { 

    thissound.addEventListener('ended', function() { 
     // done playing 
     $(el).removeClass("pause"); 
    }); 

    if (currentKey !== key) thissound.src = "http://99centbeats.com/1e4cb5f584d055a0992385c1b2155786/" + key + ".mp3"; 
    currentKey = key; 

    if (thissound.paused) thissound.play(); 
    else thissound.pause(); 
    thissound.currentTime = 0; 
    currentPlayer = thissound; 


} 
$(".volume_slider").slider({ 
    value : 75, 
    step : 1, 
    range : 'min', 
    min : 0, 
    max : 100, 
    slide : function(){ 
     var value = $(".volume_slider").slider("value"); 
     $('.play').prop('volume', (value/100)); 
    } 
}); 

ответ

1

Я изменил селектор .play в вар thissound и она работает

Рабочая Js скрипку: http://jsfiddle.net/jeffd/2fjnmdkb/2/

$(".play").on('click', function() { 
    var key = $(this).attr('key'); 
    EvalSound(this, key); 
    var this_play = $(this); 
    $(".play").each(function() { 
     if ($(this)[0] != this_play[0]) { 
      $(this).removeClass("pause"); 
     } 
    }); 
    $(this).toggleClass("pause"); 
}); 

var thissound = new Audio(); 
var currentKey; 

function EvalSound(el, key) { 

    thissound.addEventListener('ended', function() { 
     // done playing 
     $(el).removeClass("pause"); 
    }); 

    if (currentKey !== key) thissound.src = "http://99centbeats.com/1e4cb5f584d055a0992385c1b2155786/" + key + ".mp3"; 
    currentKey = key; 

    if (thissound.paused) thissound.play(); 
    else thissound.pause(); 
    thissound.currentTime = 0; 
    currentPlayer = thissound; 


} 
$(".volume_slider").slider({ 
    value : 75, 
    step : 1, 
    range : 'min', 
    min : 0, 
    max : 100, 
    slide : function(){ 
     var value = $(".volume_slider").slider("value"); 
     thissound.volume = (value/100); 
    } 
});