Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает звук на телефоне (https://javascript.ru/forum/misc/76346-ne-rabotaet-zvuk-na-telefone.html)

Retro_1477 02.01.2019 14:15

Не работает звук на телефоне
 
Помогите найти ошибку в коде. На компьютере всё работает нормально, но на сенсорных устройствах звук воспроизводится только во втором случаи.

Код определяет когда совпадают координаты персонажа с игровыми объектами. В первом случаи они увеличивают кол-во очков, а во втором отнимают жизни главного героя.


var soundFlag = true;
var meow = new Audio('assets/sounds/meow1.mp3');
meow.volume = 0.2;

var eating = new Audio('assets/sounds/eat.mp3');
eating.volume = 0.2;


//1-ый случай
    for (i in game.goodfood) {
      game.goodfood[i].y += 2;
      //border
      if (game.goodfood[i].y >= 710) game.goodfood.splice(i, 1);

      if (Math.abs(game.cat.x + 80 - (game.goodfood[i].x + 12)) < 45 && Math.abs(game.cat.y + 40 - game.goodfood[i].y) < 40) {
        game.goodfood.splice(i, 1);
        game.score++;
        $('.score').html(game.score);
        //Play sound
        if (soundFlag) {
          eating.pause();
          eating.play();
          soundFlag = false;
        }
      }
    }

//2-ой случай
    for (i in game.badfood) {
      game.badfood[i].y += 2;
      //border
      if (game.badfood[i].y >= 710) game.badfood.splice(i, 1);

      if (Math.abs(game.cat.x + 55 - (game.badfood[i].x + 12)) < 45 && Math.abs(game.cat.y + 40 - game.badfood[i].y) < 40) {
        game.badfood.splice(i, 1);
        game.cat.health.hp++;
        if(game.cat.health.hp == 4) {
          game.cat.health.hp=0;
          game.score = 0;
          $('.score').html(game.score);
        }
        //Play sound
        if (soundFlag) {
          meow.pause();
          meow.play();
          soundFlag = false;
        }
      }
    }

Retro_1477 04.01.2019 13:56

О БОЖЕ! Я понял, смотрите в чём баг. У меня есть кнопка "Начать игру" при нажатии которой воспроизводится один звук meow. При этом в самой игре работал только звук meow, а eating не работал. Думаю вы уже поняли как я это фиксанул. Вставил в кнопку воспроизведение обоих звуков и они теперь корректно работают на всех платформах


Часовой пояс GMT +3, время: 18:42.