Показать активное окно для видео в пользовательском распределителе

Я отображаю видео поверх панели, используя пользовательский образец распределителя, для какого-то файла он воспроизводит видео в каком-то активном окне, и это шоу отдельно. Как я могу избежать этого нежелательного окна, которое будет открыто.

13.10.2009 10:43:56
2 ОТВЕТА
РЕШЕНИЕ

Обычно тогда видео воспроизводится в окне ActiveMovie, когда декодер и средство визуализации не могут согласовать соединение, поэтому построитель графика использует средство визуализации по умолчанию (если вы автоматически строите свой график с помощью метода RenderFile), которое воспроизводится отдельно. Проверьте ваш код в методе InitializeDevice вашего распределителя, если InitializeDevice всегда терпит неудачу, тогда ваше видео будет отображаться в средстве визуализации по умолчанию.

Убедитесь, что вы используете режим VMR9Mode_Renderless. И если вы не используете микширование в VMR7 / 9, я предлагаю удалить любые вызовы метода SetNumberOfStreams, это упрощает ситуацию.

Неплохой пример использования пользовательского распределителя можно найти здесь .

1
27.10.2009 11:47:22

Что вы имеете в виду? Когда вы начинаете воспроизводить файл, он открывает окно, которое содержит фактическое видео?

Если это так, вы, вероятно, хотите исследовать фильтр визуализации микширования видео . Вы можете создать свой собственный распределитель, который позволит вам перехватить текущий вызов, который затем позволит вам рисовать видео где угодно и как угодно.

Или, лично я думаю, что это проще, вы хотите исследовать пример фильтра дампа, а затем использовать его для создания своего собственного средства визуализации. Таким образом, когда вы получаете рамку, вы можете делать с ней все, что угодно, не суетясь с внутренностями. Это очень простые фильтры записи, если вы не хотите, чтобы они были доступны за пределами вашего приложения.

Изменить: QueryInterfaced интерфейс IVMRFilterConfig9 и SetRenderingMode для VMR9Mode_Windowless?

1
13.10.2009 13:08:24
Спасибо за ваш ответ. Да, это открыть новое видео с актуальным видео. Я сделал свой собственный распределитель, и в текущем звонке я рисую видео на панели. Как уже упоминалось, для некоторых видеофайлов это видео-окно показывается ..
Firoz 13.10.2009 12:32:07