Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Mediaplayer时出现错误-19,0?_Android_Media Player_Android Mediaplayer_Alsa - Fatal编程技术网

Android 使用Mediaplayer时出现错误-19,0?

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

有人知道我为什么会得到这个吗?这通常发生在使用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/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();
        }
    });
}