Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在HTML中播放多首随机歌曲_Javascript_Html_Audio - Fatal编程技术网

Javascript 如何在HTML中播放多首随机歌曲

Javascript 如何在HTML中播放多首随机歌曲,javascript,html,audio,Javascript,Html,Audio,所以我想在我的页面中央有一个按钮来启动随机选择歌曲的播放列表。单击按钮后,它将消失,并沿屏幕底部弹出一个横跨整个屏幕宽度的音频控制窗口。我有五个mp3文件,我正在玩。我目前有一个开始、暂停和恢复按钮,但它们是独立的丑陋按钮。以下是我的一些代码: <audio id="blue"> <source src="blue.mp3" type="audio/mpeg"> </audio> <audio id="cigar"> <so

所以我想在我的页面中央有一个按钮来启动随机选择歌曲的播放列表。单击按钮后,它将消失,并沿屏幕底部弹出一个横跨整个屏幕宽度的音频控制窗口。我有五个mp3文件,我正在玩。我目前有一个开始、暂停和恢复按钮,但它们是独立的丑陋按钮。以下是我的一些代码:

<audio id="blue">
    <source src="blue.mp3" type="audio/mpeg">
</audio>

<audio id="cigar">
    <source src="cigar.mp3" type="audio/mpeg">
</audio>

<audio id="immigrant">
    <source src="immigrant.mp3" type="audio/mpeg">
</audio>

<audio id="monkey">
    <source src="monkey.mp3" type="audio/mpeg">
</audio>

<audio id="money">
    <source src="money.mp3" type="audio/mpeg">
</audio>

<script>
    var a1 = document.getElementById("blue"); 
    var a2 = document.getElementById("cigar"); 
    var a3 = document.getElementById("immigrant"); 
    var a4 = document.getElementById("monkey"); 
    var a5 = document.getElementById("money"); 
    var x;

    function playAudio() { 
        var num = Math.floor(Math.random() * 5) + 1;
        if(num == 1){
            x = a1;
            x.play();
        }else if(num == 2){
            x = a2;
            x.play();
        }else if(num == 3){
            x = a3;
            x.play();
        }else if(num == 4){
            x = a4;
            x.play();
        }else if(num == 5){
            x = a5;
            x.play();
        }
} 

function pauseAudio() { 
    x.pause(); 
} 


function resumeAudio() {
    x.play();
}


</script>

var a1=document.getElementById(“蓝色”);
var a2=document.getElementById(“雪茄”);
var a3=document.getElementById(“移民”);
var a4=document.getElementById(“monkey”);
var a5=document.getElementById(“货币”);
var x;
函数playAudio(){
var num=Math.floor(Math.random()*5)+1;
如果(num==1){
x=a1;
x、 play();
}else if(num==2){
x=a2;
x、 play();
}else if(num==3){
x=a3;
x、 play();
}else if(num==4){
x=a4;
x、 play();
}else if(num==5){
x=a5;
x、 play();
}
} 
函数pauseAudio(){
x、 暂停();
} 
函数resumeAudio(){
x、 play();
}
我完全不知道如何将所有这些整合到这样的东西中:

<audio controls>
    <source src="fileName.mp3" type="audio/mpeg">
</audio>


其中一个主要问题是,我不知道如何将一首歌(随机)排队,并在前一首歌结束后播放。我在谷歌上搜索了一下,但要么我看不懂我看到了什么,要么我不太需要它。

像这样的东西怎么样:

HTML:

<audio id="player" controls></audio>

告诉我这样行不行。

像这样的怎么样:

HTML:

<audio id="player" controls></audio>

告诉我这是否有效。

你知道为什么不起作用吗?也许您应该将我的
音频源更改为绝对路径,而不仅仅是相对路径。@RobertMoore
让audioSource=audioSources[Math.floor(Math.random()*audioSources.length);
缺少
]
@TfarcrawIIV再次尝试复制粘贴它,缺少一个结束括号。@TfarcrawIIV请参阅演示中的注释。@TfarcrawIIV当您用自己的文件替换时,是否用自己的路径替换了
base
的值?然后只使用
播放列表中的文件名
数组?所有文件都在一个目录中吗?你能给我至少2个文件的URL吗?你知道为什么它不工作吗?也许您应该将我的
音频源更改为绝对路径,而不仅仅是相对路径。@RobertMoore
让audioSource=audioSources[Math.floor(Math.random()*audioSources.length);
缺少
]
@TfarcrawIIV再次尝试复制粘贴它,缺少一个结束括号。@TfarcrawIIV请参阅演示中的注释。@TfarcrawIIV当您用自己的文件替换时,是否用自己的路径替换了
base
的值?然后只使用
播放列表中的文件名
数组?所有文件都在一个目录中吗?你能给我至少2个文件的URL吗?