看了看,但無法找到我的具體問題的答案。如何從數組中挑選隨機聲音? (JS)
我想要做什麼:
呼叫從我的HTML或其他JS功能這一功能,發揮在我的JS數組中選擇一個隨機的聲音。
播放使用略有不同的代碼只是一個聲音作品
我可以只玩一個聲音很輕鬆了,我的代碼在這個意義上說,但我在控制檯收到此錯誤嘗試播放多種聲音與時下面的代碼:
audio.js:90 Uncaught TypeError: Cannot read property 'call' of undefined
我的代碼不能正常工作,如何解決呢?
這裏是我到目前爲止的代碼:
var SoundRandom = function (soundNameRandom) {
this.soundNameRandom = soundNameRandom;
}
SoundRandom.prototype.playRandomSound = function() {
RandomSound = new Audio(this.soundNameRandom);
var randomSound = Math.random() * 10;
if (randomSound > 5 && isMuted == false) {
RandomSound[0].play();
}
else if (randomSound < 6 && isMuted == false) {
RandomSound[1].play();
}
}
var randomSound = new SoundRandom(["sword.mp3", "openinvy.mp3"]);
我把它叫做用
randomSound.playRandomSound();
我的問題
什麼是錯我的代碼?我做錯了什麼,或者我應該改變什麼?我想用Javascript來做到這一點嗎?我寧願不使用Jquery。我對Javascript的音頻方面比較陌生,所以可能有些東西我沒有意識到。另外,我不想使用HTML音頻標籤,我想把所有東西都保存在JS中,正如我前面所說的那樣,它可以用於單聲道剪輯,但不是像我想要做的那樣的隨機聲音。
這是無效的語法:var randomSound = new SoundRandom [「sword.mp3」,「openinvy.mp3」];',應該是'var randomSound = new SoundRandom([「sword.mp3」,「openinvy.mp3 「]);' –
謝謝,我解決了這個問題,但音頻仍然無法播放。我仍然得到「Uncaught TypeError:無法讀取未定義的屬性」調用,但不再是其他錯誤。 – Timble
我知道我的變量定義可能有問題,但正如我所說的,我不知道如何去做。 – Timble