android - Android MediaPlayer无法播放声音

标签 android audio android-mediaplayer media

我为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/

相关文章:

com - 如何使用Skype4Com查找麦克风音频的采样率?

c++ - CentOS中音频文件ds2格式转换为wav

iphone - 在 iPhone 上循环播放 HTML5 音频

来自通知栏 Intent 的 Android 调用方法

android - 在 MediaPlayer 中打开内容 ://media/external/[. ..] 需要 READ_EXTERNAL_STORAGE 权限?

android - Unresolved reference : getPreferences

android - 按下按钮时蓝牙应用程序崩溃

android - startResolutionForResult 返回错误(应用程序崩溃),GoogleApiClient 连接

java - 当我尝试使用 facebook sdk 登录我的 Android 应用程序时,我不断收到空用户和空错误。我不知道为什么

android - Android MediaPlayer的问题