希望你已经解决了你的问题。但是,如果上述所有答案方法都对您不起作用,那么您可能会尝试并出现在我脑海中的方法很少。他们可能会帮助你。
方法一:
另一种方法是将 100 首歌曲的名称保存在array.xml
文件中。就像是:
<resources>
<string-array name="song_names">
<item>song_name1</item>
<item>song_name2</item>
<item>song_name3</item>
...
</string-array>
</resources>
然后您可以获取数组并ith
从那里选择名称。// 在 onCreate() 或函数之外的某个地方 String[] allSongNames = context.getResources().getStringArray(R.array.song_names);
//Get ith name based on your parameter
void playSound(int num) {
String string = allSongNames[num];
Uri myUri = Uri.parse(string);
mPlayer = MediaPlayer.create(MainActivity.this, myUri);
}
方法二:
如果您不想在数组中存储 100 个名称,则可能有替代方案。我假设你已经以某种模式命名了你的 100 首歌曲。所以,假设它像song_name1
, song_name3
, song_name3
...
你只能有一个字符串string.xml
:song_name
然后您将该字符串连接到num
要传递的值:
String songNameIni = res.getString(R.string.initial_song_name);
void playSound(int num) {
String fullSongName = songNameIni + String.valueOf(num);
Uri myUri = Uri.parse(fullSongName);
mPlayer = MediaPlayer.create(MainActivity.this, myUri);
}
希望这可以帮助。