我正在尝试使用 URL 在 MediaPlayer 上设置歌曲,但由于某种原因,我不断收到如下错误:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.setDataSource(java.lang.String)' on a null object reference
at com.example.musicplayerjd.PlayerActivity.getIntentMethod(PlayerActivity.java:490)
at com.example.musicplayerjd.PlayerActivity.onCreate(PlayerActivity.java:56)
at android.app.Activity.performCreate(Activity.java:7893)
at android.app.Activity.performCreate(Activity.java:7880)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3283)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2044)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
2020-12-25 18:22:29.435 1628-2212/? E/InputDispatcher: channel 'b9823c3
com.example.musicplayerjd/com.example.musicplayerjd.MainActivity (server)' ~ Channel is
unrecoverably broken and will be disposed!
不明白为什么它说它指的是一个空对象。我已经检查了很多时间,我插入的数据不为空。
我正在插入此 URL https://www.hrupin.com/wp-content/uploads/mp3/testsong_20_sec.mp3
,每次我尝试播放音乐时,它都会崩溃并显示此错误消息。
这是代码 - 简单代码
mediaPlayer.setDataSource(listSongs.get(position).getURL());
mediaPlayer.prepareAsync();
mediaPlayer.start();
*ListSongs 包含一个 URL 列表
答案 0 :(得分:0)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.setDataSource(java.lang.String)' on a null object reference
at com.example.musicplayerjd.PlayerActivity.getIntentMethod(PlayerActivity.java:490)
此崩溃意味着您的 MediaPlayer 对象为 null,而不是 setDataSource 的参数。请正确初始化 mediaPlayer。