Где ошибка в моем рандомайзере?

Хочу рандомно воспроизводить звук.
Некоторые уже отвечали мне, но к сожалению все их способы просто крашили мой клиент.

Я решил сделать по своему.
var arr = ["#bet1-sound","#bet2-sound","#bet3-sound"];
			var rands = Math.floor(Math.random() * arr.length);
			if (sound == 'on') {
				$(arr[rands])[0].play();
			}


Я попытался сделать массив с тремя звуками.
А потом выдергивать оттуда рандомное значение, но почему-то производится не рандомный звук, а все сразу.
<audio id="bet1-sound" src="/sounds/Stavka-1.mp3" preload="auto"></audio> 
<audio id="bet2-sound" src="/sounds/Stavka-2.mp3" preload="auto"></audio> 
<audio id="bet3-sound" src="/sounds/Stavka-3.mp3" preload="auto"></audio>


Как все устроено изначально , вы можете увидеть тут: jsfiddle.net/u40ukoL9
А тут как сделано в оригинале, но я вообще не силен в освоении: jsfiddle.net/x6n0nu60
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Я бы сделал с помощью плагина Ion.Sound. Вот так:
var names = ["Stavka-1", "Stavka-2", "Stavka-3"];

ion.sound({
    sounds: [
        {name: names[0]},
        {name: names[1]},
        {name: names[2]}
    ],
    volume: 1,
    path: "/sounds/",
    preload: true
});

var rand = Math.round(Math.random() * (names.length - 1));
ion.sound.play(names[rand]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы