2017-03-18 197 views
1

所以這是我在stackoverflow上的第一個問題,所以放在我身上很容易^^android-無法讓MediaPlayer工作

由於有些日子我進入了android開發。作爲第一個想要開發音板應用程序的小項目。可悲的是我無法讓該死的MediaPlayer工作。要麼它沒有提供任何錯誤,而且我也聽不到任何聲音(音量最大),或者在準備MediaPlayer時遇到錯誤。

當點擊一個按鈕時,我會調用pl​​aySound(View)事件。在函數內部,我想從應用程序資源播放一個mp3文件。這裏是我現在的代碼,你會發現一個鏈接,你可以看到,我如何將mp3文件添加到應用程序資源。我搜索了很多,並儘可能多地嘗試瞭解,但我無法實現它。你有什麼想法可能會錯誤的代碼?

public void playSound(View v) 
    { 
     AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
     builder.setCancelable(true); 

     MediaPlayer mediaPlayer = new MediaPlayer(); 

     try { 
      mediaPlayer.setDataSource(MainActivity.this, Uri.parse("android.resource://mypackagename/res/raw/einemetallischebitterkeit")); 
      mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 

      mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
       @Override 
       public void onCompletion(MediaPlayer mp) { 
        mp.stop(); 
        mp.release(); 
       } 
      }); 

      mediaPlayer.prepare(); 
      mediaPlayer.start(); 

     } catch (IOException e) { 
      builder.setMessage(e.toString()); 
      AlertDialog dialog = builder.create(); 
      dialog.show(); 
     } 

    } 

mp3 file in app resources

回答

0

你應該使用這樣

InputStream mymp3 = getResources().openRawResource(R.raw.einemetallischebitterkeit); 
+0

你能告訴我在哪裏把這個?或者如何使用它? 我也嘗試下面的代碼行來設置數據源 - 準備媒體播放器時仍然出錯。 –