Android 使用Mediaplayer时出现错误-19,0?
有人知道我为什么会得到这个吗?这通常发生在使用mediaPLayer播放大约100多个so音频文件之后。我是这样玩的Android 使用Mediaplayer时出现错误-19,0?,android,media-player,android-mediaplayer,alsa,Android,Media Player,Android Mediaplayer,Alsa,有人知道我为什么会得到这个吗?这通常发生在使用mediaPLayer播放大约100多个so音频文件之后。我是这样玩的 E/MediaPlayer(20473): error (-19, 0) I/MyApp (20473): Decoding lala.mp3 I/StagefrightPlayer( 68): setDataSource('mypath') E/AudioFlinger( 68): no more track names available E/AudioT
E/MediaPlayer(20473): error (-19, 0)
I/MyApp (20473): Decoding lala.mp3
I/StagefrightPlayer( 68): setDataSource('mypath')
E/AudioFlinger( 68): no more track names available
E/AudioTrack( 68): AudioFlinger could not create track, status: -12
E/AudioSink( 68): Unable to create audio track
我错过什么了吗?对于android开发来说,这是一个全新的概念。谢谢你这个解决方案对我很有效(扮演一个资源)。只需执行一个
您是否按照文档中的建议,在使用后
释放mp?谢谢,我去看看。是的,我确实发布了,但我不知道您需要在发布后再次声明mp=null。我试试看
public RenderResultFormat DoIt() {
if(mp!=null){
mp.release();
mp = null;
}
AudioRenderer mr = new AudioRenderer(); mp = mr.AudioRenderer(filePath);}
private class AudioRenderer extends Activity {
private MediaPlayer AudioRenderer(String filePath) {
//delcare mediaplayer variables, path etc
mp= MediaPlayer.create(this, path);
if(mp != null){
int duration = mp.getDuration();
mp.start();
try {
Thread.sleep(duration);
} catch (InterruptedException e2) {
e2.printStackTrace();
System.out.println("I've been interrupted >:(");
}
}
}return mp;}
private void playbeep(int id) {
MediaPlayer mPlayer;
mPlayer = MediaPlayer.create(context, id);
mPlayer.start();
mPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.release();
}
});
}