Технологии программирования миди

 Навигация:

 Поиск:

 Новости:

17.02.2007
Полностью переработан дизайн сайта.

6.01.2007
Добавлен раздел Наработки Полезные и интересные программы и их исходники от автора.

19.11.2006
Функции WriteVarLen и ReadVarLen портированы с СИ на Delphi читать

14.11.2006
Появилась cтатья Midi-протокол глазами программиста

24.10.2006
Написана вторая часть MMSystem Функции midiOutGetVolume midiOutSetVolume midiOutMessage midiOutShortMsg и midiOutLongMsg

12.10.2006
Добавлен раздел Multimedia , который содержит большое количество информации по мультимедийным технологиям.

1.09.2006
Добавлен раздел MMSystem в котором находятся
подробные опсания функций winmm.dll, определенных в модуле mmSystem.pas,
с примерами их использования в Delphi.

13.08.2006
Опубликован исходник приложения, записывающего игру на клавиатуре
в стандартный midi-файл SMF - 0

4.07.2006
Добавлен раздел Структура формата миди-файла

 Счетчики:
Rambler's Top100 Яндекс цитирования Rambler's Top100
 Контент:

Простые способы воспроизведения звука

В простейшем случае приложение должно выдавать звуковые сигналы или проигрывать небольшие звуковые сообщения; для этих целей можно воспользоваться API-Windows функциями MessageBeep и sndPlаySound.

Первая из упомянутых функций имеет прототип
void MessageBeep(UINT uAlert);
При установленном драйвере звукового адаптера проигрывается зву-ковой фрагмент, указанный передаваемым в качестве функции кодом; при отсутствии драйвера выдается лишь короткий ‘бип’ из встроенного дина-мика.

Числовой параметр определяется значениями строк ключа HKEY_CURRENT_USER\AppEvents\Schemes\Apps\Default системного реестра, связь событий с нужными звуками производится с помощью при-ложения Control Panel; связь параметра функции с описанием некоторых событий приведены в нижерасположенной таблице

Значения параметра Описание функции MessageBeep
-1 Стандартный звуковой сигнал, выдаваемый на встроен- ный динамик
MB_ICONASTERISK Проигрывается WAV-файл, описанный строкой Sys- temAsterisk
MB_ICONEXLAMATION Аналогично, строка SystemExclamation
MB_ICONHAND Аналогично, строка SystemHand
MB_ICONQUESTION Аналогично, строка SystemQuestion
MB_OK Аналогично, строка SystemDefault

Функция MessageBeep пытается проиграть звуковой фрагмент в асин-хронном (фоновом) режиме; в случае невозможности этого управление возвращается только после окончания проигрывания.

Произвольный звуковой файл проигрывается функцией sndPlaySound, находящейся в библиотеке mmsystem.dll

BOOL sndPlaySound(LPSTR lpszSoundFile,
UINT wFlags);

Через первый параметр функции передается ссылка на ресурс, содер-жащего звуковой фрагмент (имя WAV-файла, идентификатор ресурса приложения или вышеописанную текстовую строку); параметр wFlag оп-ределяет способ проигрывания звукового фрагмента (нижеприведенные значения можно комбинировать при помощи операции ИЛИ)
Значения параметра wFlagОписание
SND_SYNC Определяет синхронный режим работы (функция sndPlaySound вернет управление только после завер-шения проигрывания звукового фрагмента)
SND_SAYNS Определяет асинхронный режим работы (функция sndPlaySound вернет управление немедленно, проиг-рывание звукового фрагмента будет выполняться в фо-новом режиме параллельно с работой приложения)
SND_NODEFAULT Если указанный фрагмент не найден, функция sndPlay-Sound сразу вернет управление приложению. Если флаг SYNC_NODEFAULT не указан и файл не найден, будет воспроизведен стандартный системный звук (соответствующий строке SystemDefault); если и это невозможно -звучания а не будет, а функция вер-нет FALSE
SND_MEMORY Используется для проигрывания загруженных в опера-тивную память звуковых файлов (например, из ресур-сов приложения)
SND_LOOP При указании SND_ASYNC проигрывание зациклива-ется (останов возможен только вызовом sndPlaySound с первым нулевым параметром)
SND_NOSTOP При осуществлении проигрывания в данный момент возвращается FALSE

Во всех случаях (кроме использования флага SND_NOSTOP) функ-ция sndPlaySound возвращает TRUE, если в данный момент проигрыва-ние выполняется и FALSE в противоположном случае. При использовании функций MessageBeep и sndPlaySound WAV-файл должен полностью помещаться в физическую память.

Содержание
 Bash.org.ru:

 Реклама:

 ©Copyright:
http://www.last.h16.ru - программирование миди. Идея, разработка и поддержка : Mo-skin © 2006-2007
X