Android : La classe MediaPlayer
La classe Media Player est la classe à partir de laquelle se fait le decodage des fichiers, sons videos c'est à dire leur lecture. La lecture des fichiers sonores ne posent aucun problemes et ces lignes suivantes suffisent:
Code:
1 2
|
MediaPlayer mp= MediaPlayer.create(this, R.raw.song)mp.start(). |
Il y'a une difference entre les videos et audio dans ce sens.
Pour les audio il suffit de creer un dossier dans Ressources et mettre les audios ou fichier ladans.
Pour les videos l'affichage n'est pas simple nous utiliserons VideoView au lieu de SurfaceView ou autre.
Contrairement aux audios et images qui sont referencable par leur ide dans raw ou drawable, un video n'a pas une telle equivalent. Un video est reference par :
"android.resouce://package_nom/"+R.raw.viedo_nom ( bien sur extension)
Notre video est de type Mpeg-4
C'est pour dire qu'il y'a pas un lien direct pour acceder un video. Alors on va pas donner un exmple pour audio mais tout simplement un video qui est plus complexe.
NB: Vue le nombre de format de video sur le marché, il est probable qu'une video de format quelconque ne soit reconnue par Android. Ceci n'est pas une faute a Android car le format sont varié aujourd'hui et aucun systeme ne peut tout supporter.
Processus :
1. Creer un projet Android avec une classe( le nom de mon projet est SiteVideo)
2. Choisir un fichier video ( pour moi son nom est test , le format est mpeg).
3. Creer un dossier raw dans le repertoire raw
4 .Placer le video dans cette android : C:\Users\JBromo\workspace\SiteVideo\res\raw
Maintenant le code
Dans ce qui suit nous avons un video qu'on va nomme jacksonfive ( Un vieux video de Michael Jackson avec ses freres)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| package org.sidibe.video;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.VideoView;
public class LectureVideo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Nous allons utiliser la classe VideoView : import android.widget.VideoView;
VideoView videos= new VideoView(this);
// Nous allons definir l url de notre video
int a= R.raw.test; //
String str= "android.resource://org.sidibe.video/"+R.raw.test;
Uri uri=Uri.parse(str);
videos.setVideoURI(uri);
/*
* Il faut preciser ici qu quon peut mettre directement lur par setVideoPath qui
* prend un string le chemin du fichier.
* Mais la methode adpote ici es plus prudent
* */
setContentView(videos);
videos.start();
}
} |
Ceci est une explication pour lire les video localement dans une application Android.
Ceci a ete testé avec HTC Magic de SFR. Cet code est complet et sans erreur.
SIDIBE Ali-Broma