Как наложить или сделать водяной знак на картинке в Windows Media Player
Вопрос
Я работаю над распределенным медиаплеером, который использует компонент Windows Media Player. Теперь покупатель спрашивает меня, возможно ли наложить логотип на воспроизводимый носитель вместо того, чтобы каждый фильм отображался с логотипом.
У меня есть Google, и мне кажется, что я могу использовать фильтр DirectShow для этого, но я еще не нашел никакой хорошей информации о том, как это сделать.
Если кто-нибудь здесь знает, могу ли я сделать это программно, с помощью плагина, фильтра или другим способом, было бы неплохо узнать. Хорошо, если это плагин, который тоже стоит денег.
Я хочу, чтобы можно было использовать jpg / png в качестве водяного знака / наложения для запуска фильма в проигрывателе Windows Media 11
Решение
Это можно сделать, принудительно настроив собственный DirectShow фильтрует график фильтра WMP. Это включает в себя настройку заслуги фильтра как очень высокой высокий, так что автоматическое построение графиков DirectShow вставит ваш фильтр в цепочку WMP. Однако я бы не рекомендовал этот подход, потому что а) возможно, что фильтр не всегда будет вставляться с определенными цепочками графиков фильтров, и б) он также будет добавлен в графы фильтров любых других установленных сторонних приложений DirectShow. Эта вторая проблема, вероятно, будет серьезной проблемой.
Должна быть возможность создания плагина WMP DSP сделать это. Они реализованы как объекты мультимедиа DirectX ( DMO s), которые похожи, но проще, чем фильтры DirectShow. Такой подход вполне может быть вашим лучшим выбором.
Последний подход заключается в переписывании всей части воспроизведения мультимедиа в приложении в DirectShow вместо использования элемента управления WMP. Это потребует гораздо больше усилий, но если вы планируете выполнять большую часть обработки пользовательских потоков мультимедиа либо сейчас, либо в будущем, это может быть хорошим вариантом.