2014-01-17 95 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(); 
相关问题