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

时间:2012-02-06 20:03:48

标签: android android-file android-music-player

我正在制作一些花哨的应用,需要很多短音才能使用。几乎没有问题你可以回答。

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

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

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

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

我应该如何存储R.raw.mysound,它不是正确的字符串?

我道歉如果我对一切都不太清楚,我会尽我所能。 干杯

2 个答案:

答案 0 :(得分: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.mySound id更容易吗?

答案 1 :(得分:1)

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

R.raw.mysound是一个int,就像所有R. *引用一样。

.wav文件很好,虽然很大。除此之外,您还必须检查目标平台上支持的内容以及所有设备是否也可能支持它。例如,在Android的早期阶段,平台指定了几种类型,但有些类型是可选的,直到设备是否支持它。有关完整列表,请参阅:http://developer.android.com/guide/appendix/media-formats.html