Віяло, messagebeep і playsound - процедури відтворення звуків - інтернет підручник c builder

Найбільш простою процедурою, що управляє звуком, є процедура Віяло. Вона не має параметрів і відтворює стандартний звуковий сигнал, встановлений в Windows. якщо комп'ютер має звукову карту і стандартний сигнал заданий (він встановлюється в програмі Windows «Панель управління» після клацання на піктограмі Звук). Якщо звукової карти немає або стандартний сигнал не встановлено, звук відтворюється через динамік комп'ютера просто у вигляді короткого клацання.

Відкрийте новий додаток, перенесіть на нього кнопку, в обробнику клацання якої напишіть одне слово:

Можете запустити додаток, клацнути на кнопці і прослухати стандартний звук Windows або просто клацання, якщо стандартний звук не встановлено.

Більш серйозною процедурою є функція Windows API MessageBeep:

bool MessageBeep (int uType);

Параметр uType вказує відтворений звук як ідентифікатор розділу [sounds] реєстру, в якому записані звуки, які супроводжують ті чи інші події в Windows. За допомогою програми Звук в «Панелі управління» користувач може видалити або встановить відповідні звуки.

Параметр uType може мати наступні значення:

Після запиту звуку функція MessageBeep повертає управління викликала функції і відтворює звук асинхронно. Під час відтворення додаток може продовжувати виконуватися.

Якщо неможливо відтворити вказаний в функції звук, робиться спроба відтворити стандартний системний звук, встановлений за замовчуванням. Якщо і це неможливо, то стандартний тон через динамік.

При успішному виконанні повертається нульове значення. При аварійному завершенні повертається нуль. Можете в своєму тестовому додатку ввести ще одну кнопку і написати для неї обробник:

Ви почуєте той же стандартний звук Windows. що і при виконанні процедури Віяло. Або почуєте той же тихий клацання, якщо стандартний звук не встановлено. Спробуйте встановити різні звуки за допомогою «Панелі управління» і перевірити MessageBeep при різних значеннях її параметра.

А тепер давайте займемося більш серйозною функцією PlaySound. яка дозволяє відтворювати не тільки звуки подій Windows. але і будь-які хвильові файли. Це функція API Windows. параметри якої описані в модулі mmsystem. Тому для використання цієї функції в вашому додатку необхідно включити директиву #include . оскільки автоматично С ++ Вuilder її не включає.

Функція PlaySound визначена наступним чином:

bool PlaySound (char * pszSound, HINST hmod, Int fdwSound);

Параметр pszSound є рядком з нульовим символом в кінці і визначає відтворений звук. Параметр hmod використовується, якщо звук береться з ресурсу. А оскільки далі звуком з ресурсу ми користуватися не будемо, то hmod завжди можна задавати рівним 0.

Параметр fdwSound є безліччю прапорів, які визначають режим відтворення і тип джерела звуку. Нижче наведені значення найбільш важливі для відтворення довільних хвильових файлів: