2015-12-06 2 views
1

У меня возникает странная проблема, когда иногда звучит звуковой файл, а иногда и не воспроизводится.Звук: Должен иметь уже установленный контроллер субтитров

Загвоздка в том, что, когда он решает не играть, то LogCat дает мне это сообщение:

Should have subtitle controller already set 

Это мой код для воспроизведения звука:

public void sound(){ 
    //store the sound file name 
    String filename=f_fruit_ar.m4a; 

    //All sounds stored in assets folder 
    try{ 
     AssetFileDescriptor afd = getAssets().openFd(filename); 
     MediaPlayer player = new MediaPlayer(); 
     player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); 
     player.prepare(); 
     player.start();   
     } 
     }); 
    } 
    catch (Exception e) { 
    e.printStackTrace(); 
    } 
} 

ответ

0

Я думаю, что проблема вы не освобождаете ресурсы после того, как игрок закончил играть, вам нужно освободить ресурсы.

Пример:

public void sound(){ 
    //store the sound file name 
    String filename=f_fruit_ar.m4a; 

    //All sounds stored in assets folder 
    try{ 
     AssetFileDescriptor afd = getAssets().openFd(filename); 
     MediaPlayer player = new MediaPlayer(); 
     player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); 
     player.prepare(); 
     player.start(); 
     player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     public void onCompletion(MediaPlayer mp) { 
     player.release(); 
     } 
}); 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
Смежные вопросы