我想在网站上播放一首随机歌曲。曲调很短(最多几秒钟,它们不需要预加载或缓冲)。
此部分有效,歌曲数量可能无限制,因为tunes.length
会自动统计所有歌曲。
document.write
在屏幕上显示随机歌曲网址的网址
tunes = new Array(
'"http://example.net/abcd.ogg"',
'"http://example.net/efgh.ogg"',
'"http://example.net/ijkl.ogg"'
)
var audiopath = (tunes[Math.floor(Math.random() * tunes.length)])
document.write (audiopath)
当URL定义为常量时,此部分也有效。
var song = new audio('http://example.net/abcd.ogg');
song.play();
当我尝试用变量audiopath
替换常量URL时,它无法播放。
可能是语法有问题吗?
我尝试在网址'"http://example.net/ijkl.ogg"'
或"http://example.net/ijkl.ogg"
var song = new audio(audiopath);
song.play();
答案 0 :(得分:0)
一旦歌曲完全加载,处理开始播放可能会更好。像这样:
let loaded = false;
const song = new Audio();
song.addEventListener('loadeddata', function()
{
loaded = true;
song.play();
}, false);
song.addEventListener('error' , function()
{
alert('error loading audio');
}, false);
song.src = tunes[Math.floor(Math.random() * tunes.length)];