javascript - Phaser 在 Android 上不发出任何声音

标签 javascript android android-webview phaser-framework

我有这段代码,用于在使用 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/

相关文章:

java - 谷歌地图 Android 缩放到国家

android - shouldOverrideUrlLoading() 永远不会被调用

android - 是不是webview已经获取到文件后调用setDownloadListener onDownloadStart?

javascript - 如何根据另一个下拉选项更改下拉选项?从数据库检索的值

javascript - 以编程方式将表单和输入设置为 "ng-dirty"

android - 如何制作一个 GridLayout,其中元素平均填充网格?

应用计费中的 Android 市场 - 新信用卡失败,然后好吗?

android-layout - 我的 WebView 没有填充选项卡的屏幕(但没有 pb 填充手机的屏幕)

javascript - jQuery 更改按钮中的文本

javascript - Node.js 的命令行参数