MCI на два окна!
От: EugeneT  
Дата: 19.08.04 08:57
Оценка:
Всем привет.
Положение такое:
Надо при помощи MCI проигрывать видео на двух окнах. При попытке назначить второе окно, теми же средствами что и первое, первое теряет изображение и второе окно начинает его показывать.
Хотел копирывать контекст первого окна на второе, но .... Есть проблема: avi файлы рендерятся в окно, а вот wmv — через оверлей! То есть способ этот плохой! Можно конечно создать два устройства MCI и их синхронизировать, но ресурсов то сколько потребуется и как синхронизировать? А может можно отучить MCI выводить видео через оверлей? У меня не получилось!
Короче, проблема большая!
Помогите, пожалуйста.
Спасибо.
Re: MCI на два окна!
От: Stanky  
Дата: 22.08.04 16:57
Оценка:
> А может можно отучить MCI выводить видео через оверлей?
>
Решение крайне корявое, но работоспособное: все видюхи могут работать только с 1 оверлеем, так что если кто-то уже использует оверлей, то мы будем работать без него!!!
Свои слова я могу доказать на простом примере: запусти какую-нидь AVI'шку и давани PrintScreen, затем в какой-нидь Paint вставь полученную картинку и вместо изображения в плеере ты получишь сплошной цвет (обычно черноватый или фиолетовый)!!! Но везде где этот цвет будет пересекаться с положением плеера ты будешь видеть, то что сейчас в нём в данный момент показывается!!! Теперь запускаем ещё одну AVI'ху (естественно не закрывая предыдущей), повторяем PrintScreen->Paint->Ctrl+V и видим, что во втором окне находится именно то изображение, которое мы видели в момент нажатия PreentScreen'а!!!

А есть возможность узнать с оверлеем мы имеем дело или нет?
И еслиб мона было бы настроить отображение оверлея на несколько прямоугольников, то проблема бы решалась в пять секунд!!! Можно?
Posted via RSDN NNTP Server 1.9 beta
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re[2]: MCI на два окна!
От: romson  
Дата: 22.08.04 18:41
Оценка:
Здравствуйте, Stanky, Вы писали:

S> все видюхи могут работать только с 1 оверлеем


Достаточно спорное утверждение. Например, здесь указывается, что некоторые видеокарты поддерживают 2 оверлея одновременно

S>И еслиб мона было бы настроить отображение оверлея на несколько прямоугольников, то проблема бы решалась в пять секунд!!! Можно?


Нельзя.
Re: MCI на два окна!
От: romson  
Дата: 22.08.04 18:46
Оценка:
Здравствуйте, EugeneT, Вы писали:

ET>Всем привет.

ET>Положение такое:
ET>Надо при помощи MCI проигрывать видео на двух окнах. При попытке назначить второе окно, теми же средствами что и первое, первое теряет изображение и второе окно начинает его показывать.
ET>Хотел копирывать контекст первого окна на второе, но .... Есть проблема: avi файлы рендерятся в окно, а вот wmv — через оверлей! То есть способ этот плохой! Можно конечно создать два устройства MCI и их синхронизировать, но ресурсов то сколько потребуется и как синхронизировать? А может можно отучить MCI выводить видео через оверлей? У меня не получилось!
ET>Короче, проблема большая!
ET>Помогите, пожалуйста.
ET>Спасибо.

Ужасть! Неужели кто-то до сих пор использует MCI
В DirectShow эта проблема решилась бы в два счёта при помощи Infinite Pin Tee Filter.
Re[3]: MCI на два окна!
От: Stanky  
Дата: 22.08.04 20:31
Оценка:
> Достаточно спорное утверждение. Например,
> здесь указывается, что некоторые
> видеокарты поддерживают 2 оверлея одновременно
>
Нда, интересно было бы глянуть на результат двух перекрывающихся окон с оверлеем!!!
Posted via RSDN NNTP Server 1.9 beta
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re[4]: MCI на два окна!
От: romson  
Дата: 22.08.04 20:51
Оценка:
Здравствуйте, Stanky, Вы писали:

S>Нда, интересно было бы глянуть на результат двух перекрывающихся окон с оверлеем!!!


Вообще, было бы интересно взглянуть на два одновременных оверлея А их перекрытие, очевидно, регулируется z-ордером, который устанавливается с помощью функции IDirectDrawSurface::UpdateOverlayZOrder.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.