我有这段代码,用于在使用 Phaser 构建的游戏中发出声音,该代码在 iOS 和 Android 应用程序(包装器)上的浏览器内运行。
虽然在 iOS 上工作正常,但在 Android 上,当我在 Web View 中运行应用程序时,我收到错误消息并且根本没有声音。
我的代码:
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://.. ) 加载文件时,虽然效果不佳,但会发出声音...(而且我希望文件能够在本地加载。)
最佳答案
有些浏览器不支持 MP3,通常支持大多数浏览器的最佳选择是同时拥有 OGG 和 MP3 版本的声音,并在 game.add.audio('my ', ['my.mp3', 'my.ogg'])
调用。
作为docs say ,Phaser 足够聪明,只实际加载它找到的第一个兼容文件,因此不必担心加载时间问题。
关于javascript - Phaser 在 Android 上不发出任何声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30148697/