在您更改滑块的值之前,音频不会播放

时间:2014-08-24 12:29:28

标签: javascript jquery slider

我正在使用它作为音量滑块,它正在工作。但我需要更改滑块或它不会播放音频。我甚至将值更改为50但在调整滑块之前仍然无法播放。 任何帮助都会很棒

$("#volume").slider({
    min: 0,
    max: 100,
    value: 0,
    range: "min",
    animate: true,
    slide: function(event, ui) {
        setVolume((ui.value) / 100);
    }
});

var myMedia = document.createElement('audio');
$('#player').append(myMedia);
myMedia.id = "myMedia";
playAudio('http://iviewsource.com/exercises/audioslider/audio/ViewSource', 0);

function playAudio(fileName, myVolume) {
    var mediaExt = (myMedia.canPlayType('audio/mp3')) ? '.mp3' : (myMedia.canPlayType('audio/ogg')) ? '.ogg' : '';
    if (mediaExt) {
        myMedia.src = fileName + mediaExt;
        myMedia.setAttribute('loop', 'loop');
        setVolume(myVolume);
        myMedia.play();
    }
}

function setVolume(myVolume) {
    var myMedia = document.getElementById('myMedia');
    myMedia.volume = myVolume;
}

1 个答案:

答案 0 :(得分:0)

您的播放器在开头静音。也许那是你的问题?

如果您将起始音量值更改为1,则应听到音乐。

var initialVolume = 1;
...
playAudio('http://www.stephaniequinn.com/Music/Allegro%20from%20Duet%20in%20C%20Major', initialVolume);

参见示例here

另一个提示可能是:您的代码是在文档准备好之前还是之前执行的?