【问题标题】:Javascript play audio when loadedJavascript在加载时播放音频
【发布时间】:2018-05-07 02:59:15
【问题描述】:

所以我有一个音量滑块的代码。它的作用是在加载滑块后更改音量时播放声音。例如,如果滑块的默认值为 50,则加载音频文件后不会立即播放声音,您需要将值更改为更高或更低,以便声音可以出来。所以我需要 JavaScript 方面的帮助。我该怎么做才能在加载时开始播放声音?

完整代码:https://www.w3schools.com/code/tryit.asp?filename=FQZVZUX36JFD

JS:

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

var myMedia = document.createElement('audio');
$('#player').append(myMedia);
myMedia.id = "myMedia";

playAudio('http://listen.shoutcast.com/newfm64aac-', 0);

function playAudio(fileName, myVolume) {
        myMedia.src = fileName;
        myMedia.setAttribute('loop', 'loop');
    setVolume(myVolume);
    myMedia.play();
}

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

【问题讨论】:

  • 您能否更新您的完整代码链接。它没有给我任何代码。

标签: javascript html audio slider volume


【解决方案1】:

Google recently released a browser update that prevents initial playing or autoplaying of media elements(注意:不是这个答案的解决方案,而是类似情况的潜在解决方案。)

【讨论】:

    【解决方案2】:

    您正在通过此调用将初始音量设置为零:

    playAudio('http://listen.shoutcast.com/newfm64aac-', 0);
    

    要让它以默认值 50 加载,您的调用应该是:

    playAudio('http://listen.shoutcast.com/newfm64aac-', 50);
    

    【讨论】:

    • 当我将它设置为 50 时根本没有声音
    • 如果将音量设置为 0.5 会怎样?我刚刚注意到滑块调整将其发送为 /100
    猜你喜欢
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多