web-dev-qa-db-fra.com

Comment lire une vidéo au format .mp4 dans une vidéo sous Android?

Je travaille sur l'application lecteur vidéo, je veux lire la vidéo . Mp4 en mode vidéo natif. Je suis pas capable à jouervidéo en utilisant rl. Je reçois une erreur Désolé, cette vidéo ne peut pas être lue et aussi pas capable à lire la vidéo téléchargée en vidéo native.

Mon code pour lire une vidéo en vidéo:

String mUrl = "http://www.servername.com/projects/projectname/videos/1361439400.mp4";

VideoView mVideoView  = (VideoView)findViewById(R.id.videoview)
videoMediaController = new MediaController(this);
mVideoView.setVideoPath(mUrl);
videoMediaController.setMediaPlayer(mVideoView);
mVideoView.setMediaController(videoMediaController);
mVideoView.requestFocus();
mVideoView.start();

Veuillez partager vos idées pour la même chose.

Merci.

36
Hiren Patel

Finalement ça marche pour moi.

private VideoView videoView;

videoView = (VideoView) findViewById(R.id.videoView);

Uri video = Uri.parse("http://www.servername.com/projects/projectname/videos/1361439400.mp4");
videoView.setVideoURI(video);
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
  @Override       
  public void onPrepared(MediaPlayer mp) {
       mp.setLooping(true);
       videoView.start();
    }
});

J'espère que cela aiderait les autres.

22
Hiren Patel

MP4 est juste un conteneur - les flux vidéo et audio à l'intérieur seront codés dans différents formats.

Android ne supporte nativement que certains types de formats. Ceci est la liste ici.

Assurez-vous que le type d'encodage vidéo et audio est pris en charge. Ce n’est pas parce qu’il est écrit "mp4" que cela devrait être jouable.

30
Ken Wolf

Utilisez comme ceci:

Uri uri = Uri.parse(URL); //Declare your url here.

VideoView mVideoView  = (VideoView)findViewById(R.id.videoview)
mVideoView.setMediaController(new MediaController(this));       
mVideoView.setVideoURI(uri);
mVideoView.requestFocus();
mVideoView.start();

Une autre méthode:

  String LINK = "type_here_the_link";
  VideoView mVideoView  = (VideoView) findViewById(R.id.videoview);
  MediaController mc = new MediaController(this);
  mc.setAnchorView(videoView);
  mc.setMediaPlayer(videoView);
  Uri video = Uri.parse(LINK);
  mVideoView.setMediaController(mc);
  mVideoView.setVideoURI(video);
  mVideoView.start();

Si vous obtenez cette erreur Impossible d'ouvrir le fichier côté client, en essayant Erreur côté serveur sous Android . et aussi Report this . J'espère que cela vous donnera une solution.

19
Nirmal

Vérifiez le format de la vidéo que vous effectuez. Rendu du format mp4 démarré à partir de l'API de niveau 11 et le format doit être mp4 (H.264)

J'ai rencontré le même problème, je devais convertir ma vidéo dans de nombreux formats avant de frapper le format: Utiliser le convertisseur vidéo total pour convertir la vidéo en MP4. Il fonctionne comme un charme.

5
Michael

Je ne suis pas sûr que ce soit le problème, mais ce qui a bien fonctionné pour moi, c'est d'appeler mVideoView.start();à l'intérieur le mVideoView.setOnPreparedListener rappel d'événement.

Par exemple:

Uri uriVideo = Uri.parse(<your link here>);

MediaController mediaController = new MediaController(mContext);
mediaController.setAnchorView(mVideoView);
mVideoView.setMediaController(mediaController);
mVideoView.setVideoURI(uriVideo);
mVideoView.requestFocus();

mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener()
{
     @Override
     public void onPrepared(MediaPlayer mp)
     {
          mVideoViewPeekItem.start();
     }
});
1
EZDsIt