2014-01-17 172 views
0

我嘗試打從原文件夾中的MP3。我有它扮演着不同的MP3的,所以我必須在每一次改變這裏的媒體播放器輸入不同的按鈕是我的按鈕點擊代碼:從原始文件夾播放MP3?

public void onClick(View v) { 
     t=R.raw.virtualbarber 
       playsound(t); 

     } 

,這裏是我的媒體播放器代碼即時通訊錯誤。創建! :

private void playSound(string t){ 
mp = MediaPlayer.create(getActivity(), t); 
mp.setOnCompletionListener(new OnCompletionListener() { 

@Override 
public void onCompletion(MediaPlayer mp) { 

    mp.release(); 
} 
}); 
mp.setLooping(true); 
mp.start(); 
}} 

IM也宣佈我就這樣我的項目之上串和媒體播放器:

MediaPlayer mp; 
int t; 

沒有任何作品!我的其他程序正常工作,但這不是!

logcat的

01-17 22:01:35.016: E/AndroidRuntime(30521): FATAL EXCEPTION: main 
01-17 22:01:35.016: E/AndroidRuntime(30521): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.safshari.board3d/com.safshari.board3d.MainActivity}: java.lang.NullPointerException 
01-17 22:01:35.016: E/AndroidRuntime(30521): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2247) 
01-17 22:01:35.016: E/AndroidRuntime(30521): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2297) 
+0

'v == R.raw.virtualbarber'非常不屬於。 'R.id.something'更令人愉快。 –

+0

那麼我該如何將我的mp3添加到媒體播放器? – Soheyl

+0

我把我的其他程序的媒體播放器代碼,它只有一個MP3,並正常工作,我想爲每個按鈕添加一個 – Soheyl

回答

1

使用

mp = MediaPlayer.create(getActivity(), R.raw.virtualbarber); 

如果是片段,而不是this使用getActivity()

mediaplayer fixed tnx to you but now im getting nullpointer exception on start of program ? 

如果它仍然會崩潰,與堆棧跟蹤一起發佈更新相關的代碼以獲得更多幫助

+0

編輯了代碼,現在你可以看到 – Soheyl

+1

@Sheheyl發佈完整的堆棧跟蹤。有一個部分引起的是什麼表示引起異常的線路 – Raghunandan

+0

好吧不好固定的空指針我自己這是菜鳥問題!所以我如何停止播放之前播放的內容,這樣兩個mp3都不能同時播放? – Soheyl

0

使用URI是這樣的:

Uri myUri = Uri.parse("android.resource://com.package.sample/raw/filename"); 
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    mp.setDataSource(getApplicationContext(), myUri); 
    mp.prepare(); 
相關問題