Problema ao tentar pausar vídeo utilizando MediaPlayer

2 respostas
temonteiro

Olá,
Não estou conseguindo pausar um vídeo que estou carregando da seguinte maneira. Criei um SurfaceView para exibir o meu vídeo. Estou utilizando o MediaPlayer para fazer o controle de iniciar, pausar e parar o vídeo, porém o pause() não está funcionando.

Segue o código para análise:

//Iniciando o SurfaceView
getWindow().setFormat(PixelFormat.UNKNOWN);
		video.setOnClickListener(this);
		surfaceHolder = video.getHolder();
		surfaceHolder.addCallback(this);
		surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
		mediaPlayer = new MediaPlayer();
//Exibindo o vídeo
/* BOTÕES STREAM */
		play.setImageResource(R.drawable.bt_pause);
		play.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				if(mediaPlayer.isPlaying()){
					mediaPlayer.pause();
					Log.i("PAUSOU", "PAUSOU");
	            } else {
	            	mediaPlayer.start();
	            }
			}
		});

/* CARREGANDO O VÍDEO */
		mediaPlayer.setOnPreparedListener(this);
		mediaPlayer.setOnCompletionListener(this); 
		mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
		mediaPlayer.setDisplay(surfaceHolder);
		
		try {
			mediaPlayer.setDataSource(AoVivo__.this,Uri.parse("rtsp://stream"));
			mediaPlayer.prepare();
			load.dismiss();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

Alguém já passou por isso?

2 Respostas

fabriciov

Pelos trechos de código postado não vejo nada que posso impedir do MediaPlayer funcionar e também nunca tive esse problema.
Para exibição de vídeo sempe usei o VideoView pq ele já vem com um MediaPlayer embutido.

temonteiro

Bom dia fabriciov,
Eu tive que usar o SurfaceView, porque foi o único que conseguiu atender a questão do deixar a tela em fullscreen. Quando eu utilizei com o VideoView o fullscreen não funcionava corretamente em todos os dispositivos.

Quando eu debuguei ele passa corretamente pelo pause(), mas não executa o pause.

Criado 5 de fevereiro de 2013
Ultima resposta 6 de fev. de 2013
Respostas 2
Participantes 2