Итак, я искал мир воспроизведения мультимедиа для окон, и я начал создавать медиа-плеер C# с помощью DirectShow. Я начал использовать видеоредактор VRM-7 и был блестящим, за исключением того, что у него было несколько небольших проблем (много мониторов, полноэкранный режим). Но после некоторых исследований я обнаружил, что он устарел, и я должен использовать VRM9. Итак, я изменил его, чтобы использовать VRM9 без окон, а затем выяснил, что это был старый пост rofl> _ <, так что, наконец, я использую Vista/Win7 (или XP .net 3) Enhanced Video Renderer (EVR), который, по-видимому, больше всего датируемый рендерингом Microsoft, и добавляет к нему все яркие показатели производительности/качества. (tbh я не заметил никакой разницы, но, возможно, мне нужен синий луч или видео HQ, чтобы заметить это).Проблема с изменением размера DirectShow EVR
С использованием EVR все работает нормально, за исключением изменения размера видео. Его действительно отсталый/прерывистый/слезливый и, вероятно, что-то связанное с его механизмом очереди кадров.
Чтобы продемонстрировать мою проблему
- открыть окна Media Player Classic.
- View -> Параметры -> Playback -> выход
- Выбрал «EVR» DirectShow видео рендерер
Теперь перезапустите WMP класс и воспроизведения видео, в то время как он играет, нажмите и перетащите угол, чтобы изменить его размер , Вы заметите его ужасно лагги. Это то же самое, что у меня есть.
Но если вы выбрали «EVR Custom Pres. **» или EVR Sync ** «изменение размера прекрасно работает! Поэтому я попытался найти что-то по поводу изменений размера EVR и как исправить это, но я не мог поверить, я мог бы найти. Я предполагаю, что «Custom Pres.» означает «Custom Presenter», который звучит так, как будто они сделали свой собственный. Также вы заметите, что размер правой руки при обмене между EVR и другим EVR будет уменьшен.
Итак, я не знаю, как я могу исправить эту проблему с замедленным изменением размера и есть ли там достойная документация? Существует справедливый бит для VMR7/9, но не так много для EVR Я загрузил DirectX SDK, который, по-видимому, имел образцы, но это была пустая трата в 500 мб у него ничего не было.
Возможно, есть какой-то способ заставить его не стоять в очереди на фреймы, если это проблема? Если вы хотите, чтобы код произносил слово, и я вставляю его. Но это действительно очень просто и ничего не происходит, я убежден, что это проблема с рендерингом EVR.
EDIT: О, и еще одна вещь, что использует VLC? Если вы перейдете в опции vlc и измените рендеринг на что угодно, кроме значения по умолчанию, все они сосут. Так оно использует VMR7? Или его собственный?
я вижу ту же проблему, но с C++. Создал ли собственный пользовательский презентатор решение вашей проблемы? – 2010-11-10 15:15:30