2016-07-03 13 views
0

ボタンのIDを音源の名前と比較し、メディアプレーヤーをそのリソースに設定するアンドロイドのメソッドを作成しました。それは音を再生する必要がありますが失敗します。参考までに、ボタンのidはサウンドファイルと同じ名前です。なぜこれが再生されていないのかについての考えはありますか?ここに方法があります。Android MediaPlayerが音を再生できない

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(); 

} 

答えて

1
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クラスの配列に格納するためです。

関連する問題