Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.01.2018, 01:17
Интересующийся
Отправить личное сообщение для dfcz112 Посмотреть профиль Найти все сообщения от dfcz112
 
Регистрация: 30.01.2018
Сообщений: 29

Проигрывается один и тот же звук
Всем привет. Такой вопрос. Я сделал игру монополия, чтобы играть в браузере через локалку. Сегодня добавлял в неё звуки - бросание костей. Есть два файла shaking.mp3 и throwing.mp3. На отдельной страничке отдельно звуки при таком коде:
var throwing = [{start: 0  , duration: 1000},
	  {start: 2.2 , duration: 1200},
	  {start: 3.6 , duration: 800},
	{start: 5.6, duration: 1200}];

var shaking = [ {start: 0 , duration:1100 },			//годятся все
	{start: 1.6 , duration: 1100},
	{start: 8.1 , duration: 1000},
	{start:  11.1, duration: 1000},
	{start: 13.7 , duration:1200 },
	{start: 21.8, duration: 1000},
	{start:  24.4, duration: 1200}];
function play() {
  var promise = new Promise(function(resolve, reject){
    var audio = document.createElement('audio');
    var pos = shaking[random(0, shaking.length-1)];
    audio.src = 'img/shaking.mp3';
    document.body.appendChild(audio);
    audio.currentTime = pos.start;
    audio.play();
    setTimeout(function () {
      document.body.removeChild(audio);
      resolve();
    }, pos.duration);
  });

  promise.then(()=>{
    var audio = document.createElement('audio');
    var pos = throwing[random(0, throwing.length-1)];
    audio.src = 'img/throwing.mp3';
    document.body.appendChild(audio);
    audio.currentTime = pos.start;
    audio.play();
    setTimeout(function () {
      document.body.removeChild(audio);
    }, pos.duration);
  });
}
function random(min, max) {
  return Math.round(Math.random() * (max -min)+min);
}

работают. Т.е. есть кнопка, по нажатию на которую через рандом выпадает случайное время - начало звука из файла(звуков в файле несколько) и его продолжительность, по истечении которой звук удаляется и скрипт запускает тоже самое для второго звукового файла. Так вот, на отдельной страничке эта котовасия работает как надо, а в составе целиком проекта звуки проигрываются всегда одинаковые, хотя код перенесён этот же. Причём даже не меняются. Такое ощущение было, что рандом выдаёт всегда одно значение, но. Рандом, я смотрел в проекте, он генерирует разное - то есть с ним всё нормально. Пробовал рандом в 0 установить, чтобы физически поменять звуки - не помогло. Подскажите в чём может быть проблема и как её решить?

Последний раз редактировалось dfcz112, 30.01.2018 в 01:20.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить две переменные ссылаться на один и тот же объект в памяти? xtfkpi Общие вопросы Javascript 2 25.12.2014 20:43
Как применить один и тот же скрипт на странице два раза, с разными значениями noid Элементы интерфейса 5 31.10.2014 13:24
Как проиграть звук на сайте один раз за сеанс. tuchkovo-auto Общие вопросы Javascript 3 21.05.2014 11:13
на один и тот же запрос приходят разные данные holop AJAX и COMET 3 10.07.2013 00:20
Один и тот же ответ от разных запросов. nickgu AJAX и COMET 5 25.04.2012 23:27