6

我正在制作一些花哨的应用程序,它需要大量简短的声音才能使用。有几个问题你也许能回答。

  • 我在 android 项目中存储的位置是否有一些限制?目前我把它们放在 bin/res/sounds 文件夹中。

  • 文件格式是否有限制,.wav 可以吗?

  • 我需要一些东西来存储对这些声音的引用。我想出了一个字典,它包含一个声音名称(键)和一个文件路径,所以我可以在这种方法中使用:

    mp = MediaPlayer.create(Test.this, R.raw.mysound);

我应该如何存储 R.raw.mysound,它不是一个字符串,对吗?

抱歉,如果我对所有事情都不太清楚,我会尽力而为。干杯

4

2 回答 2

7

通常,您会将声音存储在 res 文件夹 (res/raw/mySound.wav) 下的 raw 文件夹中。这告诉操作系统不要乱用它,只需为你复制它。然后,您可以使用您发布的代码行来加载它们。

至于 .wav 格式可以正常工作,但它会非常大。

看看 Android 支持哪些音频格式:http: //developer.android.com/guide/appendix/media-formats.html

int 中的引用(即R.raw.mySound)。因此,如果需要,您可以将一些字符串映射到该 int,但这真的比使用R.raw.mySoundid 更容易吗?

于 2012-02-06T20:13:33.377 回答
1

它们不属于 /bin,因为那是一个自动生成的构建目录。它们确实属于 /res/something,这可能就是您的意思。

R.raw.mysound 是一个 int,所有 R.* 引用也是如此。

.wav 文件很好,虽然很大。其他任何事情,您都必须检查目标平台支持的内容,以及所有设备是否也可能支持它。例如,在 Android 的早期,平台指定了几种类型,但有些是可选的,取决于设备是否支持。完整列表见:http: //developer.android.com/guide/appendix/media-formats.html

于 2012-02-06T20:09:58.953 回答