Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
Имитационное мо... 61291
Реклама
Сейчас на сайте
Гостей: 4
На сайте нет зарегистрированных пользователей

Пользователей: 13,125
новичок: vikSv
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование интернет кафе на GPSS + Отчет
Диплом - база данных поставщиков на Delphi (MS Sql Server)+ Пояснительна...
Моделирование работы ЭВМ на GPSS + Пояснительная записка

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Процедуры воспроизведения звуков
Процедура Beep


Эта процедура не имеет
никаких параметров. Ее объявление выглядит довольно-таки просто:


Beep;


Суть этой процедуры -
воспроизводить стандартный звуковой сигнал, установленный в Windows,
если имеется звуковая карта и настроен стандартный звук, если же
нет, то звук поступит через динамик компьютера в виде короткого
щелчка. Ее можно использовать, например, при вводе пользователем не
тех данных, или при закрытии формы:


procedure
TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Beep;

end;

С первой процедурой мы
разобрались. Теперь посмотрим вторую...


Функция MessageBeep


Эта функция является
более серьезной, она определена как:


function
MessageBeep(uType:word) : boolean;


Параметр uType
указывает воспроизводимый звук, как идентификатор раздела [sounds]
реестра, в котором записаны звуки, сопровождающие те, или иные
события Windows. Параметр uType может принимать следующие значения:




  • MB_ICONASTERISK -
    проигрывает звук "Звездочка" (SystemAsterisk)



  • MB_ICONEXCLAMATION
    - проигрывает звук "Восклицание" (SystemExclamation)



  • MB_ICONHAND -
    проигрывает звук "Критическая ошибка" (SystemHand)



  • MB_ICONQUESTION -
    проигрывает звук "Вопрос" (SystemQuestion)



  • MB_OK -
    проигрывает звук "Стандартный звук" (SystemDefault)



Надо отметить, что эта
функция воспроизводит звук асинхронно, т.е. во время воспроизведения
звука Ваше приложение продолжает работать. После запроса звука
функция MessageBeep передает управление вызвавшей ее функции. 


Если невозможно
воспроизвести указанный звук, то функция попытается воспроизвести
стандартный системный звук, установленный по умолчанию, если и это
невозможно, то будет воспроизведен стандартный сигнал через динамик.


Ну и наконец, осталась
самая интересная и полезная функция воспроизведения звука, о ней мы
сейчас и поговорим.


Функция PlaySound


Эта функция может
воспроизводить любые волновые звуки, а не только звуки событий
Windows. Функция API Windows, параметры которой описаны в модуле
mmsystem. Поэтому для использования этой функции в Ваших программах,
необходимо включить в раздел uses модуль mmsystem. Функция PlaySound
определена так:


function
PlaySound(pszSound:PChar; hmod:HINST; fdwSound:Cardinal):boolean;


Параметр pszSound
является нуль терминированной строкой (последний символ строки имеет
нулевой код), он определяет воспроизводимый звук. Параметр hmod
используется в случае, когда звук берется из ресурса, поскольку мы
этого делать не будем, то можно этот параметр задавать равным 0 или
nil.


Последний параметр
fdwSound является множеством, которое определяет как будет
воспроизводиться звук (режим воспроизведения). Приведу наиболее
важные значения этого множества для воспроизведения произвольных
волновых флагов.




  • SND_ASYNC - Звук
    воспроизводится асинхронно и функция возвращается сразу же после
    начала воспроизведения. Чтобы прекратить воспроизведение нужно
    вызвать функцию PlaySound с параметром pszSound, равным 0.



  • SND_LOOP -
    воспроизведение звука постоянно повторяется, одновременно надо
    установить флаг SND_ASYNC.



  • SND_NOSTOP - Если
    заданный звук не может быть воспроизведен из-за занятости
    ресурсов, то функция немедленно вернет false (и звук не будет
    воспроизведен). Если же данный флаг не указан, то функция
    попытается остановить воспроизведение другого звука, чтобы
    освободить ресурсы.



  • SND_PURGE -
    Останавливает воспроизведение любых звуков, вызванных в данной
    задаче.



  • SND_SYNC -
    Синхронное воспроизведение звука события. Функция PlaySound
    возвращается только после окончания воспроизведения.



Важно: флаги можно
комбинировать операцией or. 


Указанный параметром
pszSound звук, должен подходить для установленного драйвера
устройства воспроизведения волновых файлов, а также должен
помещаться в доступную память.


Прервать
воспроизведение звука можно выполнив оператор


PlaySound(0, 0,
SND_PURGE);


или путем задания
нового звука.


Например, чтобы
многократно и асинхронно проиграть какой-нибудь звук, выбранный с
помощью OpenDialog, можно написать такой код:


procedure
TForm1.Button1Click(Sender: TObject);

var PCh: PChar;

begin

if OpenDialog1.Execute then

begin

StrPCopy(PCh,OpenDialog1.FileName);

PlaySound(Pch,0,SND_ASYNC or SND_LOOP);

end;

end;


Ну вот, надеюсь все
ясно! В следующий раз будет что-нибудь посложнее и поинтереснее!

Опубликовал Kest Октябрь 25 2008 15:34:07 · 0 Комментариев · 10822 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
AlnComponents
Billenium Effects...
Encrypt Decrypt
Игра змейка
Алгоритмы шифрова...
Ранги для форума
C++ Стандартная б...
3D Октаэдр
Проигрыватель Mp3
Ведение справочны...
DelphiXIsoDemo1
Delphi Russian Kn...
Delphi. Учимся на...
Форма в форме
Abc_component
Удаление своего EXE
Cтатьи Королевств...
Zoom [Исходник на...
CwstatusBar
Стелтинг Стивен, ...

Топ загрузок
Приложение Клие... 100548
Delphi 7 Enterp... 92647
Converter AMR<-... 20109
GPSS World Stud... 15768
Borland C++Buil... 13295
Borland Delphi ... 9301
Turbo Pascal fo... 7124
Калькулятор [Ис... 5264
Visual Studio 2... 5042
FreeSMS v1.3.1 3564
Случайные статьи
Устранение избыто...
будет проводиться ...
Преобразования XSLT
Автоматизация ручн...
DSClient позволяет...
Топология соединен...
Проектирование
Какая команда выво...
Пробуйте щелкнуть ...
ПРИЛОЖЕНИЕ 2. Осно...
В перспективе VRML
Текстовые файлы
Трояны. Классификация
Объект DataView, с...
Алюминиевые лодки
( windowsupdate
Особенности постро...
6. Локальная групп...
Cобытийное моделир...
В каких поисковика...
Множественные инте...
Пиктограмма для ре...
Квартиры на сутки ...
Конвои и семафоры
Касания и карты
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?