Exemple d'application SDL: un lecteur audio (Fr)
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 les plateformes APF9328 et APF27. Pour cela, il faut utiliser une carte d'accueil/devt qui a une sortie audio 3.5mm et un écran pour l'affichage.
Le player lit en fait un répertoire où 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 :
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:
- quittez buildroot et faite un make du répertoire
Pour compiler le programme:
- allez dans le répertoire de l'application et lancez:
$ 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 snd-imx-alsa-tsc2102 #modprobe snd-pcm-oss #modprobe snd-mixer-oss
- Tapez:
#./aplayer REPMUSIC
avec REPMUSIC le répertoire où se trouve vos musiques ou bien tapez:
#./aplayer
si vos musiques se trouvent dans le répertoire music/ (dans ce cas, il faut bien sûr 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):
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