您好,我是 android 和 java 新手,想知道是否有更好的方法来执行以下操作:
我目前有 250 个短音频文件 (.3gp),我将它们放入 res/raw 文件夹中,并且根据特定条件,我想播放特定音频文件。例如,如果单击的按钮的文本是单词“and”,我想播放 and.3gp 声音文件。
以下是我用来完成我想做的事情的代码:
if(word.equals("No"))
{
MediaPlayer mp = MediaPlayer.create(HomeActivity.this,R.raw.no);
mp.start();
mp.setOnCompletionListener(listener );
}
else if(word.equals("And"))
{
MediaPlayer mp = MediaPlayer.create(HomeActivity.this,R.raw.and);
mp.start();
mp.setOnCompletionListener(listener );
}
.....
到目前为止,上面的代码运行良好,但我想知道是否可以在没有 250 else if 条件的情况下执行此操作。有没有办法通过 Uri 按文件名将音频文件传递给 MedialPlayer.Create?如果是,我该怎么做?谢谢。
最佳答案
您可以创建一个哈希函数,将字符串键映射到 uri
关于android - 使用 MediaPlayer 播放音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112781/