Имя пользователя:
Пароль:
 

Название темы: TWindowsMediaPlayer fullScreen
Показать сообщение отдельно

Аватара для morebeauty

Старожил


Сообщения: 210
Благодарности: 29

Профиль | Отправить PM | Цитировать


Появились новые данные.
Порылся в WMPLib_TLB и WMPLib_OCX библиотеках и отыскал, что по умолчанию используется интерфейс IWMPCore, в котором нет реализации fullScreen.
Зато она есть, например, в IWMPPlayer.
На сайте MSDN нашел инфу, что между интерфейсами можно переключаться при помощи QueryInterface.
Вот написал код процедуры, которая подключается к нужному интерфейсу и должна включить полный экран.
Код: Выделить весь код
  TCOMIWMPPlayer __if;
  GUID __id;
  __id.Data1=0x6BF52A4F;
  __id.Data2=0x394A;
  __id.Data3=0x11D3;
  __id.Data4[0]=0xb1;
  __id.Data4[1]=0x53;
  __id.Data4[2]=0x00;
  __id.Data4[3]=0xc0;
  __id.Data4[4]=0x4f;
  __id.Data4[5]=0x79;
  __id.Data4[6]=0xfa;
  __id.Data4[7]=0xa6;
  _ASSERTE(MP1->DefaultDispatch);
  MP1->DefaultDispatch->QueryInterface(__id,(LPVOID*)&__if);
  __if->fullScreen=true;
Ошибок нет, но и полный экран не включается.
Проверил я то, что подключение к интерфейсу прошло, заменив fullScreen=true на controls->stop(). Проигрывание останавливалось при выполнении процедуры. То есть я на верном пути, но почему не включается полный экран???

Отправлено: 06:48, 15-10-2013 | #4

Название темы: TWindowsMediaPlayer fullScreen