我为Android编写了一个方法,该方法获取按钮的ID,并将其与声音资源的名称进行比较,然后将媒体播放器设置为该资源。它应该播放声音,但无法播放。供您引用,该按钮的ID与声音文件的名称相同。有什么想法为什么不起作用?这是方法。
public void buttonTapped(View view){
int id = view.getId();
String ourId = "";
ourId = view.getResources().getResourceEntryName(id);
int resourceId = getResources().getIdentifier(ourId, "raw", "com.test.basicphrases");
MediaPlayer mediaPlayer = MediaPlayer.create(this, resourceId);
mediaPlayer.start();
}
最佳答案
private int[] songs = { R.raw.song1, R.raw.song2};
public void buttonTapped(View view){
int id = view.getId();
String ourId = "";
ourId = view.getResources().getResourceEntryName(id);
int resourceId = songs[id];
MediaPlayer mediaPlayer = MediaPlayer.create(this, resourceId);
mediaPlayer.start();
}
这应该工作。它不像您的方法,因为它将所有歌曲存储在java类的数组中。
关于android - Android MediaPlayer无法播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38173897/