![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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/