web-dev-qa-db-fra.com

Android: comment lire une vidéo à partir d'actifs?

Je suis en train de faire une application dans laquelle je dois montrer la vidéo du dossier des ressources dans un fragment . Quelqu'un peut-il m'aider à faire ça? Dois-je utiliser VideoView en XML?

28
user1025050

Au lieu d'accéder à partir d'assests, vous devez copier la vidéo dans le dossier res/raw de votre projet . Créer un dossier brut dans le dossier res . cas, des chiffres, des traits de soulignement et des points dans son nom de fichier de même: video_file.mp4.

VideoView view = (VideoView)findViewById(R.id.videoView);
String path = "Android.resource://" + getPackageName() + "/" + R.raw.video_file;
view.setVideoURI(Uri.parse(path));
view.start();
65
AkashG
VideoView view = (VideoView)findViewById(R.id.videoView);
String path = "Android.resource://" + getPackageName() + "/" + R.raw.video_file;
view.setVideoURI(Uri.parse(path));
view.start();

C'est le code d'AkashG, mais je me souviens que R ici ne vient pas de la classe Android . Il provient de votre propre projet.

1
Arman

J'ai déjà souffert du même problème, vous devriez préférer le dossier res/raw du projet au lieu des ressources. Créer un dossier brut sous le dossier res. Enregistrez le fichier vidéo dans un format pris en charge (3gp, wmv, mp4) et nommé avec minuscule, numérique, soulignement et points dans son nom de fichier likewise: filename.3gp dans le dossier brut.

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

String uriPath = "Android.resource://your application package name/raw/your 
wmv/mp4/3gp file in res/raw path without extension";

videoview.setVideoURI(Uri.parse(uriPath));

videoview.start();
0
Tejaswini Hadpe

Lecture de vidéos (sample.mp4) présentes dans le dossier res/raw, avec le contrôleur multimédia

// Déclarations d'importation

import Android.widget.VideoView;
import Android.widget.MediaController;

public class youractiviy extends Activity {

private VideoView videoView;
private MediaController mediaController;

protected void onCreate(Bundle savedInstanceState) {
 // Your Startup code
 videoView = (VideoView) findViewById(R.id.video_view);
 videoView.setVideoPath("Android.resource://" + getPackageName() + "/" + R.raw.sample); 
 mediaController = new MediaController(TestActivity.this);
 mediaController.setAnchorView(videoView);
 videoView.setMediaController(mediaController);
 videoView.start();

}
}

// code XML

<VideoView
        Android:id="@+id/video_view"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content" />
0
Surya Tej