在 android MediaPlayer 中开始在状态 4 错误中调用?

ver*_*one 3 java android android-mediaplayer

我正在开始播放服务中的在线音频流。这是开始播放的方法:

    void start1(String a){
        try{
        mp.setDataSource(a);//mp is a global MediaPlayer variable
        mp.setOnPreparedListener(this);
        mp.prepareAsync();
        mp.start();
        }catch(Exception e){
            noerror=false;
                }
  }
Run Code Online (Sandbox Code Playgroud)

onPrepared()函数:

    @Override
  public void onPrepared(MediaPlayer mp1){
        mp.start();
    }
Run Code Online (Sandbox Code Playgroud)

这段代码给了我错误

Start called in state 4: error(-38,0)
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题?

Voi*_*icu 5

删除此行

mp.start();
Run Code Online (Sandbox Code Playgroud)

从您的start1方法开始,因为您已经开始使用该onPrepared方法。