3

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

    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;
                }
  }

onPrepared()功能:

    @Override
  public void onPrepared(MediaPlayer mp1){
        mp.start();
    }

这段代码给了我错误

Start called in state 4: error(-38,0)

这段代码有什么问题?

4

2 回答 2

5

删除此行

mp.start();

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

于 2013-07-13T01:24:06.383 回答
1

状态 4 表示Mediaplayer处于准备状态

我们称其他动作为

Mediaplayer.start() 
Mediaplayer.stop() 
Mediaplayer.pause() 

或任何其他。

根据您的代码,它是 Mediaplayer.start();

调用 Onprepared() 方法后,您可以进行进一步处理。

只需删除

mp.start() 

mp.prepareAsync();

你会很高兴去的!

于 2018-03-04T22:30:18.900 回答