Phaser не издает никаких звуков на Android

У меня есть этот код для создания звуков в моей игре, созданной с использованием Phaser, который работает внутри браузера в приложениях iOS и Android (обертках).

Хотя на iOS я отлично работаю, на Android я получаю сообщения об ошибках и вообще не слышу звука при запуске приложения в веб-просмотре.

Мой код:

preload:function() {
    game.load.audio('blast', 'assets/audio/blast.mp3');
    game.load.audio('collect_coin', 'assets/audio/Coin.mp3');

...

create:function() {         
    game.physics.startSystem(Phaser.Physics.ARCADE);
    blast=game.add.audio('blast');
    collect_coin=game.add.audio('collect_coin');

...

blast.play();

Сообщение об ошибке из консоли:

E/MediaPlayer﹕ error (1, -2147483648)

При загрузке файлов с URL-адреса (http://...) есть звук, хотя он работает плохо... (и я все равно хочу, чтобы файлы загружались локально.)


person Doron Goldberg    schedule 10.05.2015    source источник


Ответы (1)


Некоторые браузеры не поддерживают MP3, обычно лучший вариант для поддержки большинства браузеров — иметь версию звука в формате OGG и MP3 и предоставить их обе в вызове game.add.audio('my', ['my.mp3', 'my.ogg']).

Как говорится в документах, Phaser достаточно умен, чтобы фактически загружать первый найденный совместимый файл, поэтому не беспокойтесь о проблемах со временем загрузки.

person Marwane K.A.    schedule 11.05.2015
comment
Спасибо за ваш ответ - я пробовал разные типы файлов, и ни один из них не работал. Я думаю, что мне что-то не хватает в конфигурации веб-просмотра/разрешениях Android... Я также пробовал ваше предложение с тем же результатом. - person Doron Goldberg; 11.05.2015