2008-10-29 9 views

Répondre

27

Voici le moyen le plus rapide:

uses MMSystem; 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
    sndPlaySound('C:\Windows\Media\Tada.wav', 
    SND_NODEFAULT Or SND_ASYNC Or SND_LOOP); 
end; 

procedure TForm1.Button2Click(Sender: TObject); 
begin 
    sndPlaySound(nil, 0); // Stops the sound 
end; 
+1

sndPlaySound existe pour la rétrocompatibilité seulement – Ampere

+0

Est-ce que cette procédure fonctionne dans FireMonkey? Si oui, alors cela fonctionnera-t-il sur d'autres plateformes qui ne sont pas Windows? –

2

Un tutoriel complet est disponible à l'adresse: http://sheepdogguides.com/dt3f.htm

Il est un peu vieux. Mais ça devrait marcher.

+1

Oui, cela fonctionne encore en 2009. –

4

Avec la fonction sndPlaySound de l'API WIN32-(Unité MMSystem):

sndPlaySound ('C: \ Windows \ Media \ tada.wav', SND_ASYNC);

+0

sndPlaySound existe pour la rétrocompatibilité seulement – Ampere

3

Cette page explique très bien comment utiliser la fonction sndPlaySound et comment intégrer le fichier wav comme ressource: http://www.latiumsoftware.com/en/delphi/00024.php

+0

Le lien n'est plus actif. –

+1

C'est dommage mais il est toujours possible d'y accéder sur archive.org: http://web.archive.org/web/20080509074922/http://www.latiumsoftware.com/fr/delphi/00024.php – Name

+0

+1 ; Merci pour la mise à jour. –

2

simple:

Les personnes citent également sndPlaySound mais ceci est uniquement pour la compatibilité ascendante. Alors, ne l'utilisez pas!

Vous pouvez également être intéressé par ceci:

procedure PlayWinSound(SystemSoundName: string); 
begin 
Winapi.MMSystem.PlaySound(PChar(SystemSoundName), 0, SND_ASYNC); 
end; 

{ All available constants are defined in the registry under the path HKEY_CURRENT_USER -> AppEvents -> Schemes -> Apps -> .Default. 
    System sounds: 
    SystemEXCLAMATION  - Note) 
    SystemHAND    - Critical Stop) 
    SystemQUESTION   - Question) 
    SystemSTART    - Windows-Start) 
    SystemEXIT    - Windows-Shutdown) 
    SystemASTERIX   - Star) 
    RESTOREUP    - Enlarge) 
    RESTOREDOWN    - Shrink) 
    MENUCOMMAND    - Menu) 
    MENUPOPUP    - Pop-Up) 
    MAXIMIZE     - Maximize) 
    MINIMIZE     - Minimize) 
    MAILBEEP     - New Mail) 
    OPEN      - Open Application) 
    CLOSE     - Close Application) 
    APPGPFAULT    - Program Error) 
    Asterisk     - played when a popup alert is displayed, like a warning message. 
    Calendar Reminder  - played when a Calendar event is taking place. 
    Critical Battery Alarm - played when your battery reaches its critical level. 
    Critical Stop   - played when a fatal error occurs. 
    Default Beep    - played for multiple reasons, depending on what you do. For example, it will play if you try to select a parent window before closing the active one. 
    Desktop Mail Notif  - played when you receive a message in your desktop email client. 
    Device Connect   - played when you connect a device to your computer. For example, when you insert a memory stick. 
    Device Disconnect  - played when you disconnect a device from your computer. 
    Device Connect Failed - played when something happened with the device that you were trying to connect. 
    Exclamation    - played when you try to do something that is not supported by Windows. 
    Instant Message Notif - played when you receive an instant message. 
    Low Battery Alarm  - played when the battery is running low. 
    Message Nudge   - played when you receive a BUZZ in an instant message. 
    New Fax Notification  - played when you receive a fax via your fax-modem. 
    New Mail Notification - played when you receive an email message. 
    New Text Message Notif - played when you receive a text message. 
    NFP Completion   - played when the transfer of data via NFC between your Windows device and another device is completed. 
    NFP Connection   - played when your Windows device is connecting to another device via NFC. 
    Notification    - played when a default notification from a program or app is displayed. 
    System Notification  - played when a system notification is displayed. } 
+0

sndPlaySound - Pourquoi ne pas l'utiliser? http://www.xtremevbtalk.com/general/35559-difference-sndplaysound-playsound.html – Ampere

+0

Vous pouvez ajouter un lien MSDN: https://msdn.microsoft.com/en-us/library/dd743680%28v=vs. 85% 29.aspx – EMBarbosa

+1

Alors pourquoi Embarcadero utilise-t-il encore sndPlaySound dans ses nouveaux projets? –

Questions connexes