在项目中存储声音文件的位置,以及选择什么解决方案来存储对它们的引用



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

  • 我在android项目中存储的地方有一些限制吗?目前我把这些放在bin/res/sounds文件夹中。

  • 文件的格式有限制吗?.wav可以吗?

  • 我需要一些东西来存储对这些声音的引用。我想出了一个字典,它将由一个声音名称(密钥)和一个文件路径组成,这样我就可以在这样的方法中使用:

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

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

我很抱歉如果我对每件事都不太清楚,我正在尽力。干杯

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

至于.wav格式,它会很好用,但它会非常大。

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

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

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

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

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

最新更新