MP3声音持续时间0秒未在android中播放,日志中出现错误nullpointexception

MP3声音持续时间0秒未在android中播放,日志中出现错误nullpointexception,android,android-mediaplayer,android-audiomanager,Android,Android Mediaplayer,Android Audiomanager,这里的click21是一种持续时间为0秒的mp3声音,我将其转换为click21.aiff。但是当我运行此程序时,我收到一个类型为nullpointexception的错误 你能告诉我有什么问题吗 MediaPlayer mp; mp =MediaPlayer.create(this, R.drawable.click21); mp.start(); 错误日志 03-31 11:39:56.371: E/AndroidRuntime(811): FATAL EXCEPTION: m

这里的
click21
是一种持续时间为0秒的
mp3
声音,我将其转换为
click21.aiff
。但是当我运行此程序时,我收到一个类型为
nullpointexception
的错误
你能告诉我有什么问题吗

 MediaPlayer mp;
 mp =MediaPlayer.create(this, R.drawable.click21);
    mp.start();
错误日志

03-31 11:39:56.371: E/AndroidRuntime(811): FATAL EXCEPTION: main
03-31 11:39:56.371: E/AndroidRuntime(811): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.simba.silicon/com.simba.silicon.startscreen.CircleMenuScreen}: java.lang.NullPointerException
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.os.Looper.loop(Looper.java:137)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.app.ActivityThread.main(ActivityThread.java:5103)
03-31 11:39:56.371: E/AndroidRuntime(811):  at java.lang.reflect.Method.invokeNative(Native Method)
03-31 11:39:56.371: E/AndroidRuntime(811):  at java.lang.reflect.Method.invoke(Method.java:525)
03-31 11:39:56.371: E/AndroidRuntime(811):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
03-31 11:39:56.371: E/AndroidRuntime(811):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-31 11:39:56.371: E/AndroidRuntime(811):  at dalvik.system.NativeStart.main(Native Method)
03-31 11:39:56.371: E/AndroidRuntime(811): Caused by: java.lang.NullPointerException
03-31 11:39:56.371: E/AndroidRuntime(811):  at com.zippy.zippyapp.startscreen.CircleMenuScreen.onCreate(CircleMenuScreen.java:127)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.app.Activity.performCreate(Activity.java:5133)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-31 11:39:56.371: E/AndroidRuntime(811):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
03-31 11:39:56.371: E/AndroidRuntime(811):  ... 11 more

当然,您尝试为图像传递mp3文件。 您要做的是在res/文件夹中创建一个原始文件夹

然后,当您呼叫MediaPlayer时,请执行以下操作:

MediaPlayer md = MediaPlayer.create(context, R.raw.click21);
    md.setOnPreparedListener(new OnPreparedListener() {

        @Override
        public void onPrepared(MediaPlayer mp) {
            // TODO Auto-generated method stub
            mp.start();
        }
    });
    md.prepareAsync();

我认为您不应该尝试创建一个源代码为drawable的MediaPlayer。这可能会失败(很难想象它怎么会失败),这意味着mp是空的,当你试图在下一行调用空对象的方法时,你会得到一个空指针异常。你能告诉我我在place MediaPlayer上使用了什么错误类型吗?你能把你的日志发到什么地方吗?我刚才在问题中补充了@127是什么?在com.zippy.zippyapp.startscreen.CircleMenuScreen.onCreate(CircleMenuScreen.java:127)md.setOnPreparedListener(new-OnPreparedListener(){on 127 linechange MediaPlayer.create(this,R.raw.click21);到MediaPlayer.create(CircleMenuScreen.this,R.raw.click21);