Reputation: 66
I'm making an android application that plays music. When I run it, I get a NullPointer exception, and I have no clue why!!
Here is the code in my onCreate() in my activity:
MediaPlayer mp = MediaPlayer.create(this, R.raw.tekno);
mp.start();
Here is my log cat:
06-03 17:09:51.520: D/MediaPlayer(19255): create failed:
06-03 17:09:51.520: D/MediaPlayer(19255): java.io.IOException: setDataSourceFD failed.: status=0x80000000
06-03 17:09:51.520: D/MediaPlayer(19255): at android.media.MediaPlayer.setDataSource(Native Method)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.media.MediaPlayer.create(MediaPlayer.java:735)
06-03 17:09:51.520: D/MediaPlayer(19255): at com.jlennon.gametest.PlayGameActivity.onCreate(PlayGameActivity.java:31)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.app.Activity.performCreate(Activity.java:4465)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.app.ActivityThread.access$600(ActivityThread.java:123)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.os.Handler.dispatchMessage(Handler.java:99)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.os.Looper.loop(Looper.java:137)
06-03 17:09:51.520: D/MediaPlayer(19255): at android.app.ActivityThread.main(ActivityThread.java:4424)
06-03 17:09:51.520: D/MediaPlayer(19255): at java.lang.reflect.Method.invokeNative(Native Method)
06-03 17:09:51.520: D/MediaPlayer(19255): at java.lang.reflect.Method.invoke(Method.java:511)
06-03 17:09:51.520: D/MediaPlayer(19255): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-03 17:09:51.520: D/MediaPlayer(19255): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-03 17:09:51.520: D/MediaPlayer(19255): at dalvik.system.NativeStart.main(Native Method)
06-03 17:09:51.530: D/AndroidRuntime(19255): Shutting down VM
06-03 16:36:23.340: W/dalvikvm(15997): threadid=1: thread exiting with uncaught exception (group=0x40a431f8)
06-03 16:36:23.350: E/AndroidRuntime(15997): FATAL EXCEPTION: main
06-03 16:36:23.350: E/AndroidRuntime(15997): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jlennon.gametest/com.jlennon.gametest.PlayGameActivity}: java.lang.NullPointerException
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.app.ActivityThread.access$600(ActivityThread.java:123)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.os.Handler.dispatchMessage(Handler.java:99)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.os.Looper.loop(Looper.java:137)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.app.ActivityThread.main(ActivityThread.java:4424)
06-03 16:36:23.350: E/AndroidRuntime(15997): at java.lang.reflect.Method.invokeNative(Native Method)
06-03 16:36:23.350: E/AndroidRuntime(15997): at java.lang.reflect.Method.invoke(Method.java:511)
06-03 16:36:23.350: E/AndroidRuntime(15997): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-03 16:36:23.350: E/AndroidRuntime(15997): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-03 16:36:23.350: E/AndroidRuntime(15997): at dalvik.system.NativeStart.main(Native Method)
06-03 16:36:23.350: E/AndroidRuntime(15997): Caused by: java.lang.NullPointerException
06-03 16:36:23.350: E/AndroidRuntime(15997): at com.jlennon.gametest.PlayGameActivity.onCreate(PlayGameActivity.java:32)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.app.Activity.performCreate(Activity.java:4465)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-03 16:36:23.350: E/AndroidRuntime(15997): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
06-03 16:36:23.350: E/AndroidRuntime(15997): ... 11 more
What I;m getting from this is that my MediaPlayer.create() is returning null, and I guess that must have something to do with my file. My music file is tekno.wav.
Thanks a lot in advance!
Upvotes: 0
Views: 7989
Reputation: 134714
06-03 17:09:51.520: D/MediaPlayer(19255): java.io.IOException: setDataSourceFD failed.: status=0x80000000
It seems your WAV file isn't readable by Android for some reason. See the links below for some information that may be relevant:
MediaPlayer.setDataSource causes IOException for valid file
Upvotes: 2
Reputation: 7028
Try this:
MediaPlayer mp = MediaPlayer.create(this, R.raw.tekno);
mp.start();
Upvotes: 0
Reputation: 100458
Try not to use getApplicationContext
, this might return null
.
Maybe that's what happened here as well.
So for example:
MediaPlayer mp = MediaPlayer.create(this, R.raw.tekno);
Upvotes: 1