Pergunta

Estou confuso sobre como o videoview pode ser usado para reproduzir vídeo: a partir de um arquivo local, como download e streaming progressivos.

Este exemplo Trabalhe para mim (em 1.5 e 2.0, pelo menos) baixando o arquivo e reproduzindo -o localmente.

Mas é necessário fazer o download do vídeo antes de reproduzir: é possível reproduzir vídeo como download progressivo ou por streaming, simplesmente usando o setVideopath ou Setvideouri, como no videoviewDemo nas amostras de API?

O código videoviewDemo sugere o uso do setVideouri para streaming, mas não estou claro que tipo de URL eu deveria estar usando. Alguém tem um exemplo de URL para um vídeo que pode ser transmitido para o emulador Android usando o código VideoViewDemo?

O download progressivo pode ser usado com o videoviewDemo? Eu recebo uma mensagem 'Desculpe, este vídeo não pode ser reproduzido' usando o setVideopath com URLs que funcionam bem com o exemplo do blog vinculado acima. (Isso é um problema no emulador? Eu tentei 1.5 e 2.0.)

Encontrei muitos exemplos e documentação on -line, mas, até agora, nada que realmente responda a essa pergunta.

Foi útil?

Solução

É possível reproduzir vídeo como download progressivo ou por streaming, simplesmente usando o Setvideopath ou Setvideouri, como no VideoviewDemo nas amostras de API?

Deveria. Certamente funciona com MediaPlayer, e VideoView é apenas um invólucro de ~ 200 linhas ao redor MediaPlayer e a SurfaceView.

O código videoviewDemo sugere o uso do setVideouri para streaming, mas não estou claro que tipo de URL eu deveria estar usando.

http:// e rtsp:// pode funcionar, se o vídeo foi codificado corretamente.

Alguém tem um exemplo de URL para um vídeo que pode ser transmitido para o emulador Android usando o código VideoViewDemo?

Esse vídeo funciona com MediaPlayer, exceto no nexo um.

EDITAR: Na verdade, esse link funciona com o Nexus One também.

Outras dicas

Funciona para casos simples, mas apenas quando não for necessário para fazer alguns preparativos personalizados para solicitações para obter um fluxo.

Este tutorial mostra um exemplo de emulação manual de streaming para um áudio, mas pode ser um pouco refaturado para reproduzir vídeo:

http://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-steraming-for-androids-mediaplayer/

(não deixe de usar FileDescriptor Ao definir dataSource, a API foi alterada ligeiramente daqueles tempos).

Videoview pode transmitir apenas vídeos 3GP, mas eu recomendo este código para transmitir seu vídeo

public void onCreate(Bundle savedInstanceState){
setContentView(R.layout.main);
String videourl = "http://something.com/blah.mp4";
Uri uri = Uri.parse(videourl);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setDataAndType(uri, "video/mp4");
startActivity(intent);
}

Ou Clique aqui para assistir tutorial de streaming de vídeo Android.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top