Lecția Delphi - redați sunetul în program fără mediaplayer

numai materiale utile

Acționarul principal al Alibaba a devenit cel mai bogat om din China
Articole

Microsoft a început testarea închisă a Office 16
Articole







Experții au găsit găuri de securitate în Windows 8.1
Articole

În metroul din Moscova va fi o rețea mobilă unificată
Articole

eBay va accepta Bitcoin
Articole

Vivitek a prezentat proiectorul "școală" D755WTIR
Articole

Butonul "Cumpărați" a apărut pe Twitter
Articole

"Yandex.News" poate fi acum vizualizat pe iPhone
Articole

Paradox, dar de multe ori am dat peste faptul că mulți nu știu cum să joace sunet în program fără a utiliza componenta MediaPlayer. În această lecție mică, vreau să rezolv acest lucru și să vă arăt cum să redați un fișier Wav în programul dvs. fără a utiliza MediaPlayer.

De fapt, este foarte simplu.
Tot ce trebuie să faceți este să adăugați modulul mmsystem în secțiunea utilizări

Apoi, în locul în care trebuie să redați sunetul, utilizați funcția PlaySound

funcția PlaySound (pszSound: PChar; hmod: HINST; fdwSound: Cardinal): boolean;

Ca întotdeauna, vom analiza acest lucru cu un exemplu concret.

Mai întâi de toate, deschideți Delphi. creați un nou proiect și adăugați modulul mmsystem în secțiunea utilizări.






Apoi, lăsăm un buton din formular din fila Standard și creați un handler de evenimente Onclick pe acesta.
Între început începem să scriem:

PlaySound ("D: \ 1.wav" .0, SND_ASYNC);

Primul parametru din funcția noastră este calea completă la fișierul de sunet, cu o indicație a extensiei sale. Am un fișier numit 1.wav și este pe unitatea D: \, am scris "D: \ 1.wav" aici.
Al doilea parametru este utilizat atunci când sunetul este luat din resursă, deoarece nu vom face acest lucru, putem seta acest parametru la 0 sau la zero.
Ultimul parametru determină modul în care va fi redat sunetul (modul redare). Există mai multe moduri de redare care sunt setate de pavilioanele corespunzătoare, aici este un exemplu al unora dintre ele:

SND_ASYNC - Sunetul este redat în mod asincron și funcția revine imediat după pornirea redării. Pentru a opri redarea, trebuie să apelați funcția PlaySound cu parametrul pszSound setat la 0.
SND_LOOP - redarea continuă a sunetului, în același timp trebuie să fie setat steagul SND_ASYNC.
SND_NOSTOP - Dacă sunetul specificat nu poate fi redat din cauza resurselor ocupate, funcția va reveni imediat false (iar sunetul nu va fi redat). Dacă acest steag nu este specificat, funcția va încerca să oprească redarea unui alt sunet pentru a elibera resurse.
SND_PURGE - Opreste redarea oricaror sunete cauzate de aceasta sarcina.
SND_SYNC - Redarea sincronă a sunetului evenimentului. Funcția PlaySound este returnată numai după terminarea redării.

și anume Dacă vrem ca sunetul să fie redat în mod asincron și repetat constant în funcția noastră, trebuie să folosim steagurile SND_ASYNC și SND_LOOP. Puteți utiliza operatorul sau pentru a combina drapele.

PlaySound ("D: \ 1.wav" .0, SND_ASYNC sau SND_LOOP);

Asta e tot ce am vrut să vă spun în această lecție. Ne vedem curând.







Articole similare

Trimiteți-le prietenilor: