Programmation avancée avec MIDlet Pascal


précédentsommairesuivant

L'audio

Quand vous programmez des applications pour téléphones mobiles, il est parfois intéressant d'y ajouter des effets sonores.
Pour lire un son, il faut commencer par le charger tout en précisant son type. Pour charger le fichier audio, il faut utiliser openPlayer.

 
Sélectionnez
function openPlayer(resource:string; mimetype:string):boolean;

Cette fonction retourne false si l'opération n'a pas réussi.
Exemple

 
Sélectionnez
if not openPlayer('/son.mid', 'audio/midi') then halt;

La version MIDlet Pascal 2.02 ne supporte que les sons MIDI. Notez également que tous les autres formats (audio/x-wav pour les sons waves, audio/mpeg pour les sons mp3 ) ne sont pas supportés par tous les téléphones mobiles. Vous pouvez toutefois jouer des sons avec voix sur des téléphones compatibles MIDP-2.0.

Il peut arriver que vous ayez envie de jouer un son un certain nombre de fois, pour ce cas d'utilisation il existe la fonction setPlayerCount.

 
Sélectionnez
function setPlayerCount(tourDeBoucle:integer):boolean;

tourDeBoucle est le nombre de fois que sera joué le son; cette fonction ne doit être appelée qu'après que le fichier son ait été chargé avec openPlayer. Donnez la valeur de -1 à tourDeBoucle si vous voulez jouer indéfiniment le son.
Exemple

 
Sélectionnez
if not openPlayer('/son.mid', 'audio/midi') then halt;
if not setPlayerCount(10) then halt;

Maintenant que nous savons comment charger le fichier son, comment fixer le nombre de fois qu'il sera joué, voyons comment démarrer sa lecture. Pour ce faire il faut utiliser startPlayer.

 
Sélectionnez
function startPlayer:boolean;

Cette fonction retourne false si la lecture du son n'a pas démarré.
Exemple

 
Sélectionnez
if not openPlayer('/son.mid', 'audio/midi') then halt;
if not setPlayerCount(10) then halt;   
if not startPlayer then halt;

Notez l'ordre d'appel à ces fonctions.

Il existe d'autres fonctions comme :

  • getPlayerDuration qui permet de connaître la durée en millisecondes d'un son
 
Sélectionnez
function getPlayerDuration:integer;
  • stopPlayer qui permet d'arrêter un son en cours de lecture
 
Sélectionnez
procedure stopPlayer;

Exemple

 
Sélectionnez
if not openPlayer('/son.mid', 'audio/midi') then halt;
if not setPlayerCount(10) then halt;   
if not startPlayer then halt;
     duree := getPlayerDuration;
     {Arrêter apres 2 secondes de lecture}
if (duree = 2000) then
     stopPlayer;

précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2010 AKAKPO-TOULAN Jules. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.