我正在开始播放服务中的在线音频流。这是开始播放的方法:
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)
此代码有什么问题?
答案 0 :(得分:4)
删除此行
mp.start();
来自start1
方法,因为您已经开始使用onPrepared
方法了。
答案 1 :(得分:0)
状态4表示Mediaplayer
正在准备状态
我们称其他行为如
Mediaplayer.start()
Mediaplayer.stop()
Mediaplayer.pause()
或任何其他。
根据您的代码,它是Mediaplayer.start();
调用Onprepared()方法后,您可以进行进一步处理。
只需删除
mp.start()
之后
mp.prepareAsync();
你会好起来的!