Firebae 与 mediaplayer.setDataSource() 给出了一个错误

我正在尝试从 firebase 获取 url 并将其提供给 mediaplayer.setDataSource 但我收到一个错误说:-`


    java.lang.IllegalStateException

                      at android.media.MediaPlayer._setDataSource(Native Method)

                      at android.media.MediaPlayer.setDataSource(MediaPlayer.java:991)

                      at android.media.MediaPlayer.setDataSource(MediaPlayer.java:944)

                      at mks.master.musest.home$onCreateView$16$1$1.onDataChange(home.kt:425)

                      at com.firebase.client.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:45)

                      at com.firebase.client.core.view.DataEvent.fire(DataEvent.java:45)

这是我的代码:-


`var mediaplayer:MediaPlayeria

                mediaplayer=MediaPlayer()

                firebase= Firebase(link+"song2song")

                firebase.addValueEventListener(object:ValueEventListener{

                    override fun onCancelled(p0: FirebaseError?) {

                    }


                    override fun onDataChange(p0: DataSnapshot) {


                        mediaplayer.setDataSource(p0.getValue(String()::class.java))

                        mediaplayer.prepareAsync()


                    }


                })`

主要错误在这部分 mediaplayer.setDataSource(p0.getValue(String()::class.java))


手掌心
浏览 222回答 1
1回答

料青山看我应如是

你应该在打电话reset()之前先打电话setDataSource()。看看下面Android参考中的状态图,它让你清楚地看到了不同的状态MediaPlayer同时此表显示,setDataSource()只能从空闲状态来执行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java