TUTORIEL DELPHI - JOUER UN SON
COMMENT JOUER UN SON SOUS DELPHI

Comment jouer un son à partir d'un fichier ou d'une ressource wav, mp3, mid, ogg etc...
Sur cette page des exemples pour windows et android.

APPLICATION VCL DELPHI :
JOUER UN SON WAV DEPUIS UN FICHIER

Dans le code ajoutez dans Uses "MMSystem".

procedure TForm1.Button1Click(Sender: TObject);
 var son : string;
begin
son := ExtractFilePath(Application.ExeName)+'media\crush.wav';
sndPlaySound(PWideChar(son), SND_ASYNC);
end;

SND_ASYNC : Le programme n'attend pas la fin de la lecture pour continuer.
SND_LOOP or SND_ASYNC : Jouer en boucle le son.
SND_NOSTOP or SND_ASYNC) : Jouer un son sauf si un son est deja en train d'être joué.
SND_SYNC : Le programme attend la fin de la lecture.

APPLICATION VCL DELPHI :
MEDIAPLAYER : JOUER MP3 MIDI WAV ETC.. DEPUIS UN FICHIER

Placez sur votre fiche un composant MediaPlayer, deux composants Button.

procedure TForm1.FormCreate(Sender: TObject);
begin
MediaPlayer1.Visible := false;
Button1.Caption := 'LIRE';
Button2.Caption := 'STOP';
Button2.Enabled := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
var son : string;
begin
son := ExtractFilePath(Application.ExeName)+'media\breton.mp3';
MediaPlayer1.FileName := son;
MediaPlayer1.Open;
MediaPlayer1.Play;
Button1.Enabled := false;
Button2.Enabled := true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
MediaPlayer1.Stop;
Button1.Enabled := true;
end;
APPLICATION MULTI-PÉRIPHÉRIQUE DELPHI :
WINDOWS : JOUER MP3 MIDI WAV ETC.. DEPUIS UN FICHIER

Placez sur votre fiche un composant MediaPlayer, deux composants Button.

procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Text := 'LIRE';
Button2.Text := 'STOP';
Button2.Enabled := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
var son : string;
begin
son := ExtractFilePath(ParamStr(0))+'media\breton.mp3';
MediaPlayer1.FileName := son;
MediaPlayer1.Play;
Button1.Enabled := false;
Button2.Enabled := true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
MediaPlayer1.Stop;
Button1.Enabled := true;
end;
APPLICATION MULTI-PÉRIPHÉRIQUE DELPHI :
ANDROID : JOUER MP3 MIDI WAV ETC.. DEPUIS UN FICHIER

Placez sur votre fiche un composant MediaPlayer, deux composants Button.
Ajoutez à votre projet le son à jouer (Mp3, Midi, Wav etc..)
Dans le code ajoutez dans Uses "System.IOUtils".

procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Text := 'LIRE';
Button2.Text := 'STOP';
Button2.Enabled := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
var son : string;
begin
son := (TPath.GetDocumentsPath + PathDelim +'breton.mp3';
MediaPlayer1.FileName := son;
MediaPlayer1.Play;
Button1.Enabled := false;
Button2.Enabled := true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
MediaPlayer1.Stop;
Button1.Enabled := true;
end;
APPLICATION MULTI-PÉRIPHÉRIQUE DELPHI :
COMMENT JOUER UN SON À PARTIR D'UNE RESSOURCE

Comment jouer un son à partir d'une ressource wav, mp3 etc... sous delphi Windows ou Android. Ici dans l'exemple une ressource "Resource_1" et un bouton " Button1".

CRÉATION DE LA RESSOURCE

Dans le menu principal. Cliquez sur "Projet", Ensuite sur "Ressources et images...", Cliquez sur "Ajouter..." (Ressources tous les fichier). Identificateur de ressource : le nom de la ressource. Type de ressource : RCDATA.

JOUER LE SON SOUS WINDOWS

Dans le code ajoutez dans Uses "MMSystem".

procedure TForm1.Button1Click(Sender: TObject);
var Stream: TResourceStream;
begin
Stream := TResourceStream.Create(HInstance, 'Resource_1', RT_RCDATA);
sndPlaySound(Stream.Memory, (SND_ASYNC or SND_MEMORY));
Stream.Free;
end;
JOUER LE SON SOUS ANDROID

Déclarez dans votre application (var fileName : string;)

procedure TForm1.FormCreate(Sender: TObject);
var Stream: TResourceStream;
begin
FileName := Format('%s/Monson.wav', [GetHomePath]);
Stream := TResourceStream.Create(HInstance, 'Resource_1', RT_RCDATA);
Stream.SavetoFile(FileName);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MediaPlayer1.FileName := FileName;
MediaPlayer1.Play;
end;