Exemple d'application SDL: un lecteur audio (Fr)

From ArmadeusWiki
Revision as of 13:20, 6 June 2009 by AntoineR (Talk | contribs) (Fonctionnement)

Jump to: navigation, search

Construction.png Exemple disponible dans le répertoire /target/demos/music_player de la sourceforge d'armadeus

Introduction

Application SDL avec IHM qui lit des fichiers WAV sur la plateforme apf9328. Pour cela, il faut utiliser la devFull qui à une sortie audio 3.5mm et un écran pour l'affichage.

Le player lit en fait un répertoire ou doivent être déposées des chansons au format WAV. Il faut de plus brancher un clavier sur l'apf via usb pour commander le player (play/pause/stop/volume+/volume-/etc…)

Voici un aperçu de ce à quoi ressemble l'IHM du player : Player-rbx.jpg

Fonctionnement

Au démarrage du Player, l'interface graphique apparait sur l'écran LQ043. Pour lancer une musique, il n'y a plus qu'à appuyer sur la touche 'o' ou 'p' du clavier. Lorsque la musique sera terminée, le Player lancera automatiquement la chanson suivante jusqu'à ce qu'il n'y en ai plus dans le répertoire. Il est possible d'augmenter ou de baisser le volume avec les touches '+' et '-' du clavier. Il est aussi possible de sélectionner la musique à jouer avec les touches 'up' et 'down' puis 'Entrée'. Enfin, le musique peut être mise en pause et reprise avec 'p'.

Installation/Compilation

Lib requises sur la plateforme:

  • SDL
  • SDL_ttf (pour le texte)
  • SDL_mixer (pour le son)


Pour les installer, on utilise buildroot:

  • dans le répertoire armadeus: $ make menuconfig
  • sélectionnez "Package selection for the target"
  • puis "Graphics libs and applications"
  • et enfin "SDL","SDL_mixer" et "SDL_ttf" comme ceci:

SDLbuildroot.jpg

  • quittez buildroot et faite un make du répertoire

Pour compiler le programme:

  • allez dans le répertoire de l'application
  • exécutez $ make TARGET=arm

L'exécutable aplayer sera crée.

Exécution

  • Copiez aplayer et le répertoire data sur la plateforme
  • Chargez les modules de son:
#modprobe spi_imx
#modprobe snd-imx-alsa-tsc2102
#modprobe snd-pcm-oss
#modprobe snd-mixer-oss
  • Tapez:
 #./aplayer REPMUSIC

avec REPMUSIC le répertoire ou se trouve vos musiques ou bien tapez:

 #./aplayer 

si vos musiques se trouvent dans le répertoire music (dans ce cas, il faut biensur copier le répertoire music sur la plateforme et le remplir de fichiers WAV).

Et voici une photo du Player en fonctionnement (en fond se trouve la DevFull à laquelle nous avons branché une prise audio vers des baffles et un clavier):

SDLplayer.jpg

TODO

A envisager:

  • Lecture de fichiers OGG voir MP3
  • Lecture d'une arborescence de fichiers
  • Une télécommande plutôt qu'un clavier pour contrôler le player