Pergunta

quando eu executar o meu aplicativo mostra "excede o número máximo de instâncias OpenCore" error.How para resolver esse erro. Obrigado

Foi útil?

Solução

O acima acontece se o seu instantianting várias instâncias do MediaPlayer.

Você deve ler sobre o ciclo de vida do leitor multimédia e aos seus diferentes estados

  • Definir um jogador de mídia, no escopo variável de classe, por exemplo,
  • instanciá-lo no método onCreate e nos métodos onResume conforme necessário
  • em sua função a desempenhar o seu uso audio o método .reset para obter o media player para ir para dentro e estado inativo
  • usar o .setDataSource ou equivalente para obtê-lo em um estado Inicializado
  • em seguida, .prepare para o estado preparado
  • em seguida, .start para reproduzir o áudio
  • .Stop () etc para pará-lo
  • quando o seu uso acabado a função .release para liberar o recurso de áudio.

Media Player é definida como uma variável de escopo de classe e instanciado no OnCreate () Método

    private void startPlayingAudio()
{
    try {

        Uri path1 = Uri.parse("android.resource://com.yourpackagehere./" + R.raw.beep);         
        mp.reset();  // reset to idle state
        mp.setDataSource(this, path1); // from idle to initialised state

        mp.prepare();

        mp.start();         
    } catch (Exception ioe) {
        Log.e(LOG_TAG, "Error playing the beep sound");
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top