【问题标题】:Phaser not making any sound on AndroidPhaser 在 Android 上没有发出任何声音
【发布时间】:2015-07-20 20:06:03
【问题描述】:

我有这段代码,用于在使用 Phaser 构建的游戏中发出声音,Phaser 在 iOS 和 Android 应用程序(包装器)的浏览器中运行。

虽然在 iOS 上运行良好,但在 Android 上,我在 web 视图中运行应用程序时收到错误消息并且根本没有声音。

我的代码:

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://...) 加载文件时,虽然效果不佳,但会发出声音...(无论如何我希望文件在本地加载。)

【问题讨论】:

    标签: javascript android android-webview phaser-framework


    【解决方案1】:

    某些浏览器不支持 MP3,通常支持大多数浏览器的最佳选择是同时拥有 OGG 和 MP3 版本的声音,并在 game.add.audio('my', ['my.mp3', 'my.ogg']) 调用中提供它们。

    作为docs say,Phaser 足够聪明,只实际加载它找到的第一个兼容文件,所以不用担心加载时间问题。

    【讨论】:

    • 感谢您的回复 - 我尝试了不同类型的文件,但没有一个有效。我想我在 webview 配置/Android 权限中遗漏了一些东西......我也尝试了你的建议,结果相同。
    猜你喜欢
    • 2013-04-30
    • 1970-01-01
    • 2012-03-08
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    相关资源
    最近更新 更多