我有这个代码用于在使用Phaser构建的游戏中制作声音,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://..。)加载文件时,虽然效果不佳,但仍有声音...(我希望文件无论如何都要在本地加载。)
答案 0 :(得分:1)
有些浏览器不支持MP3,通常支持大多数浏览器的最佳选择是兼容OGG和iPad。声音的MP3版本,并在game.add.audio('my', ['my.mp3', 'my.ogg'])
通话中提供它们。
作为docs say,Phaser足够聪明,只能实际加载它找到的第一个兼容文件,因此不必担心加载时间问题。