Android 媒体播放器 - 无法 setDataSource - URL

时间:2020-12-25 16:30:37

标签: android android-mediaplayer

我正在尝试使用 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 列表

1 个答案:

答案 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。

相关问题