我正在开始播放服务中的在线音频流。这是开始播放的方法:
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)
这段代码有什么问题?
删除此行
mp.start();
从你的start1
方法,因为你已经开始使用onPrepared
方法。
国家4意味着Mediaplayer
正在准备状态
我们称之为其他行为
Mediaplayer.start()
Mediaplayer.stop()
Mediaplayer.pause()
或任何其他。
根据您的代码,它是Mediaplayer.start();
一旦调用Onprepared()方法,您就可以进行进一步处理。
只需删除
mp.start()
后
mp.prepareAsync();
而你会很高兴!