gpt4 book ai didi

java - 如何使用 RAW 文件夹保存多个音频文件

转载 作者:行者123 更新时间:2023-12-01 18:37:51 24 4
gpt4 key购买 nike

我有以下功能:

strNameValue = prefs.getString("NamePosition", "");
inNameValueConversion = Integer.parseInt(strNameValue);

if (inNameValueConversion == 0) {
DisplayInformation(inNameValueConversion, R.raw.audio01);
}
if (inNameValueConversion == 1) {
DisplayInformation(inNameValueConversion, R.raw.audio02);
}
if (inNameValueConversion == 2) {
DisplayInformation(inNameValueConversion, R.raw.audio03);
}
if (inNameValueConversion == 3) {
DisplayInformation(inNameValueConversion, R.raw.audio04);
}

因为所有音频文件都以 audio 开头,并且只有末尾的数字发生变化,所以我想创建一个函数,它允许我使用更少的代码,如下所示:

public void DisplayInformation(int inNum, final int inSoundResource) {
if (inSoundResource < 2) {
strIConv = String.valueOf("0" + inSoundResource);
inConv = Integer.parseInt(strIConv);
int k = R.raw.audio+"inConv";
}
}

我收到以下错误:音频无法解析或不是字段

如何编辑上面的代码,这样我就可以只使用一个函数,而不是使用这么多 IF 语句,因为它会超过 90 次。

最佳答案

您可以使用 getIdentifier(),因此您的代码将如下所示:

public void displayInformation(int inNum) {
String id = "audio";

// for inNum < 9, we need to add 0, so for example when you pass 0
// id will be 01, not 1
if (inNum < 9) then id += "0";

//based on your code, 0 - audio01, 1 - audio02 etc, so add 1
id += (inNum + 1);

// call getIdentifier with string containing resource name, which are in your raw folder
// and in your package
int k = getResources().getIdentifier(id, "raw", "your.package.name.here");

//k now contains an id of your resource, so do whatever you want with it
}

然后您的代码可以简化为:

strNameValue = prefs.getString("NamePosition", "");
inNameValueConversion = Integer.parseInt(strNameValue);

displayInformation(inNameValueConversion);

请记住在调用 getIdentifier() 时使用您的包名称。

文档在这里:http://developer.android.com/reference/android/content/res/Resources.html#getIdentifier(java.lang.String , java.lang.String, java.lang.String)

关于java - 如何使用 RAW 文件夹保存多个音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21095293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com