Tarnyko's website
Tarnyko's website
about

[Tutoriel] Lecteur audio GStreamer en Vala

2013-07-23

Objectif : créer un lecteur audio avec GStreamer en langage Vala.

GStreamer est un framework multimédia et multi-plateforme du projet GNOME.

Assez comparable à FFmpeg, il fournit une couche d'abstraction pour des bibliothèques multimédia sous-jacentes (comme mpg123, libx264...) et présente une API GObject uniforme au développeur.

Je viens d'ajouter des paquets GStreamer au dépôt ValaWinPKG. Nous allons nous en servir pour créer un lecteur audio simple mais efficace.

Pré-requis

Si nécessaire, nous installons les dernières versions de Vala et ValaWinPKG pour Windows :

1) Installer GStreamer et ses plugins

Nous lançons ValaWinPKG à partir du menu Démarrer.
Nous activons ensuite TOUS les paquet intitulés "GStreamer[...]" et cliquons sur "Update !"

valawinpkg_gstreamer

P.S. : télécharger l'ensemble des dépendances pourra prendre un certain temps.

2) Compiler le code Vala

Nous allons compiler ce code source.

L'essentiel du code est simple à comprendre ; les parties importantes sont :

pipeline  = ElementFactory.make ("playbin", "player");
pipeline.set ("uri", args[1]);

crée un élément standard nommé playbin, et définit son uri comme étant le premier argument de la ligne de commande : ce sera le fichier à lire.
Puis :

pipeline.set_state (State.PLAYING);

jouera réellement le contenu de cet élement.

Nous compilons grâce à la commande :

valac --pkg gstreamer-1.0 gstreamer-player.vala

3) Écouter un fichier audio

Nous lançons le programme grâce à ce type de commande :

gstreamer-player.exe file:///C:/myaudiofile.mp3

Voilà !

J'ai testé la lecture avec les formats suivants : WAV (PCM), MP3, AAC, FLAC, AC3, OGG (Vorbis).
Tout a fonctionné 😃.