Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MCISendString с флагом notify


engine ©   (2009-01-28 11:51:00) 

Хочу отловить сообщение об окончании проигрывания звукового файла. Пытаюсь реализовать это следующим образом:
RetError :=  mmsystem.mciSendString(PChar('play ' + MyTestFile + ' notify'),
                           nil,
                           0,
                           MainForm.Handle);

Затем анализируя значение RetError получаю MCIERR_NOTIFY_ON_AUTO_OPEN, т.е. The "notify" flag is illegal with auto-open.
Как заставить mciSendString сообщать форме MM_MCINOTIFY?


engine   (2009-01-28 13:50:00) [1]

Юрий, спасибо за ссылку. В MSDN как-то расплывчато расписано было. В общем, сначало необходимо было произвести инициализацию устройства. За это отвечает команда open.
Чтобы, не париться, к какому типу устройства соотнести медиа-файл, инициализацию устройства проще проводить, так:
RetError :=  mciSendString(PChar('open ' + MyTestFile + ' alias MySound'),
                          nil,
                          0,
                          0);
...

А уж затем воспроизводить файл:
RetError :=  mciSendString(PChar('play MySound notify'),
                          nil,
                          0,
                          MainForm.Handle);


Всем спасибо за внимание.


Юрий Зотов   (2009-01-28 13:25:00) [2]

http://delphiblog.ru/2007/mcisendstring/


Наверх

Титульная страница Поиск, карта сайта Написать письмо