「MonoGameでBGMを再生する」の版間の差分
編集の要約なし |
|||
| 33行目: | 33行目: | ||
ただしSoundEffectクラスを使う方法ではMonoGame Pipelineで生成されるxnbファイルがアホみたいに巨大になる。約3MBのmp3ファイルが約30MBのxnbファイルになるくらい。MonoGame PipelineでQualityプロパティをBestからLowに変えてもファイルサイズに変化はない。 | ただしSoundEffectクラスを使う方法ではMonoGame Pipelineで生成されるxnbファイルがアホみたいに巨大になる。約3MBのmp3ファイルが約30MBのxnbファイルになるくらい。MonoGame PipelineでQualityプロパティをBestからLowに変えてもファイルサイズに変化はない。 | ||
===回避策:音質を落としたwavを使う=== | ====回避策:音質を落としたwavを使う==== | ||
ファイルがデカイ理由はMonoGame Pipelineにmp3を食わせると最高音質でwavに変換しているためのようだ。 | ファイルがデカイ理由はMonoGame Pipelineにmp3を食わせると最高音質でwavに変換しているためのようだ。 | ||
| 39行目: | 39行目: | ||
事前に音質を落としたwavファイルをMonoGame Pipelineに食わせると良いようだ。 | 事前に音質を落としたwavファイルをMonoGame Pipelineに食わせると良いようだ。 | ||
===問題点:ARM64でクラッシュする=== | |||
MonoGame 3.3および3.4かつ[[Android]]かつ[[ARM64]]でSoundEffectクラスを使おうとするとクラッシュする。 | |||
====回避策2:MonoGame 3.5以降を使う==== | |||
この問題はMonoGame 3.5で修正されている。 | |||
====回避策2:ARM v7aを使う==== | |||
MonoGame 3.5にアップデートするとこの問題は治るが、今度は[[3DCG]]の[[レンダリング]]周りで従来と異なる挙動になるなど不用意にアップデートできるものではなさそうだ。 | |||
そのような場合はMonoGame 3.3などの古いバージョンを使い続け、そのうえでプロジェクトのプロパティから[[ARM64]]のチェックをはずして[[ARM v7a]]向けにビルドすることで回避できる。そもそも[[Android]]で[[ARM64]]を使うメリットなど何一つないと思われる上に、簡易的な[[ベンチマーク]]でサクッと測った限りでは速度的な差もない。 | |||
現状ではARM64だと[[LLVM]]での最適化も効かないので本当に何のメリットもないと思う。 | |||
==関連項目== | ==関連項目== | ||