ошибка -19,0 ​​от использования Mediaplayer? - PullRequest
1 голос
/ 23 августа 2011
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

Кто-нибудь знает, почему я получаю это? Обычно это происходит после воспроизведения около 100+ аудиофайлов с использованием mediaPLayer. Я играю вот так

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

Я что-то упустил? Совершенно новый для разработки Android. Спасибо

1 Ответ

3 голосов
/ 15 июня 2013

Это решение хорошо работает для меня (игра на ресурсах).Просто внедрите OnCompletionListener

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();
        }
    });
}
...