41 votes

Utilisation de VideoView pour la vidéo en continu ou à téléchargement progressif

Je suis confus sur la façon VideoView peut être utilisé pour lire de la vidéo: à partir d'un fichier local, comme progressive de téléchargement et de streaming.

Cet exemple de travail pour moi (sur 1.5 et 2.0 au moins) en téléchargeant le fichier et lire localement.

Mais est-il nécessaire de télécharger la vidéo avant de jouer: est-il possible de lire la vidéo en téléchargement progressif, ou en streaming, en utilisant simplement setVideoPath ou setVideoURI, comme dans VideoViewDemo dans l'API des échantillons?

Le VideoViewDemo code suggère d'utiliser setVideoURI pour le streaming, mais je ne suis pas évident de ce type d'URL que je devrais être en utilisant. Quelqu'un a un exemple de l'URL d'une vidéo qui peuvent être diffusés à l'émulateur Android à l'aide de la VideoViewDemo code?

Pouvez de téléchargement progressif être utilisé avec VideoViewDemo? Je reçois un 'désolé, cette vidéo ne peut pas être joué à" message à l'aide de setVideoPath avec des Url qui fonctionnent bien avec le blog exemple lié ci-dessus.(Est-ce un problème dans l'émulateur? J'ai essayé de 1,5 et 2,0.)

J'ai trouvé beaucoup d'exemples et de la documentation en ligne, mais, jusque là, rien de vraiment répondre à cette question.

19voto

CommonsWare Points 402670

est-il possible de lire de la vidéo en tant que téléchargement progressif ou en streaming, simplement en utilisant setVideoPath ou setVideoURI, comme dans VideoViewDemo dans l'API des échantillons?

Il le devrait. Il fonctionne certes avec MediaPlayer, et VideoView est juste un ~200 ligne wrapper autour de MediaPlayer et SurfaceView.

Le VideoViewDemo code suggère d'utiliser setVideoURI pour le streaming, mais je ne suis pas évident de ce type d'URL que je devrais être à l'aide de.

http:// et rtsp:// peut fonctionner, si la vidéo a été correctement codés.

Quelqu'un a un exemple d'URL pour une vidéo qui peuvent être diffusés à la Émulateur Android à l'aide de la VideoViewDemo code?

Cette vidéo fonctionne avec MediaPlayer, sauf sur le Nexus One.

EDIT: en Fait, que le lien fonctionne avec le Nexus One ainsi.

2voto

shaman.sir Points 1056

Il fonctionne pour les cas simples, mais seulement quand il n'est pas nécessaire de faire quelques préparatifs pour les demandes pour obtenir un flux de données.

Ce tutoriel montre un exemple de manuel de streaming émulation pour l'audio, mais il peut être un peu remaniée pour lire de la vidéo:

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

(assurez-vous d'utiliser FileDescriptor lorsque le paramètre dataSource, l'API a été légèrement modifié à partir de ces moments).

-4voto

VideoView peut uniquement diffuser des vidéos 3gp, mais je recommande ce code pour diffuser votre vidéo.

 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 Cliquez ici pour regarder le didacticiel de streaming vidéo Android .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X