Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Немогу поймать MCI_NOTIFY_SUCCESSFUL, хотя остальные сообщения ловяться! 
:(
    Опции темы
navodri
Дата 29.6.2010, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 26.10.2007

Репутация: нет
Всего: -1



Немогу поймать MCI_NOTIFY_SUCCESSFUL, при этом другие сообщения, например, MCI_NOTIFY_ABORTED, ловятся нормально.  В чём тут дело?

Код

var
 OpenParm: TMCI_Open_Parms;
begin
 ZeroMemory(@OpenParm, SizeOf(OpenParm));
 OpenParm.lpstrDeviceType := Pointer(MCI_DEVTYPE_CD_AUDIO);
 OpenParm.dwCallback := hWin; //Окно, что ловит сообщения
 OpenParm.lpstrElementName := DeviceChar;
 mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID or MCI_OPEN_ELEMENT, LongInt(@OpenParm));
 DeviceID := OpenParm.wDeviceID;

.............

   MM_MCINOTIFY:
    case LOWORD(wp) of
     MCI_NOTIFY_SUCCESSFUL: MessageBox(0,'Сообщение MCI_NOTIFY_SUCCESSFUL поймано!','', MB_OK);
     MCI_NOTIFY_ABORTED: MessageBox(0,'Сообщение MCI_NOTIFY_ABORTED поймано!','', MB_OK);
     MCI_NOTIFY_FAILURE: MessageBox(0,'Сообщение MCI_NOTIFY_FAILURE поймано!','', MB_OK);
     MCI_NOTIFY_SUPERSEDED: MessageBox(0,'Сообщение MCI_NOTIFY_SUPERSEDED поймано!','', MB_OK);
    end;

PM MAIL WWW   Вверх
casinosoftguru
Дата 8.7.2010, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.12.2008

Репутация: нет
Всего: нет



не уверен но если вот тут вставить MCI_CLOSE в список параметров
Код

mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID or MCI_OPEN_ELEMENT, LongInt(@OpenParm));

то возможно помогло бы.. судя по гуглу MCI_NOTIFY_SUCCESSFUL как раз относится к MCI_CLOSE - возникает когда проигрываемое медиа стопается ?
PM MAIL   Вверх
navodri
Дата 13.7.2010, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 26.10.2007

Репутация: нет
Всего: -1



Вроде бы вся проблема в новом драйвере MCI. Но странно, что Майкрософт не спешат её исправлять...
PM MAIL WWW   Вверх
navodri
Дата 21.7.2010, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 26.10.2007

Репутация: нет
Всего: -1



Ребята, плиз. Может, у кого-нибудь заработает следующий код. Проверьте, как будет время.

Код

...

  private
    procedure MCINOTIFY(var msg:TMessage); message MM_MCINOTIFY;

...

procedure TForm1.MCINOTIFY(var msg: TMessage);
begin
 case msg.WParam of
  MCI_NOTIFY_SUCCESSFUL: MessageBox(0,'Сообщение MCI_NOTIFY_SUCCESSFUL поймано!','', MB_OK);
  MCI_NOTIFY_ABORTED: MessageBox(0,'Сообщение MCI_NOTIFY_ABORTED поймано!','', MB_OK);
  MCI_NOTIFY_FAILURE: MessageBox(0,'Сообщение MCI_NOTIFY_FAILURE поймано!','', MB_OK);
  MCI_NOTIFY_SUPERSEDED: MessageBox(0,'Сообщение MCI_NOTIFY_SUPERSEDED поймано!','', MB_OK);
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 PlayParm: TMCI_Play_Parms;
 OpenParm: TMCI_Open_Parms;
 DeviceID: Integer;
begin
 ZeroMemory(@OpenParm, SizeOf(OpenParm));
 OpenParm.lpstrDeviceType := Pointer(MCI_DEVTYPE_CD_AUDIO); //указали, что хотим воспроизвести аудио-диск
 OpenParm.dwCallback := Form1.Handle; //Окно, что ловит сообщения
 OpenParm.lpstrElementName := 'H'; //буква диска
 mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID or MCI_OPEN_ELEMENT, LongInt(@OpenParm)); //Открыли устройство
 DeviceID := OpenParm.wDeviceID;

 ZeroMemory(@PlayParm, SizeOf(PlayParm));
 PlayParm.dwCallback := Form1.Handle;
 mciSendCommand(DeviceID, mci_Play, MCI_NOTIFY, Integer(@PlayParm)) //Запустили проигрывание
end;


Пы.Сы. MCI_NOTIFY_SUCCESSFUL приходит, когда аудио-диск польностью проигран. Точнее раньше приходил, на более старом железе и системой WindowsXP. У кого-то мой код работает?
Может, у кого-нибудь есть пример, где MCI_NOTIFY_SUCCESSFUL успешно ловиться? Пожалуйста, поделитесь.
PM MAIL WWW   Вверх
navodri
Дата 9.8.2010, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 26.10.2007

Репутация: нет
Всего: -1



Ребята, ну помогите! Неужели нет никаких соображений?

Вот мой исходник:

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  cd.rar 4,50 Kb
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.