DirectShow воспроизводит два видеофайла подряд?

Фильтр «Источник файла (асинхронный)» поддерживает только один файл за всю его жизнь. Можно ли воспроизвести два файла подряд без перестройки графика?


person Predrag Manojlovic    schedule 22.07.2013    source источник
comment
Есть ли у него событие, которое вы могли бы использовать, когда файл закончил воспроизведение? Можете ли вы поставить медиа в очередь для воспроизведения с помощью API? Прошло почти десять лет с тех пор, как я в последний раз использовал directshow.   -  person Geeky Guy    schedule 23.07.2013


Ответы (1)


File Source (Async) только подает поток байтов произвольного доступа на граф фильтра, есть и другие компоненты, необходимые для воспроизведения: демультиплексоры, декодеры. Нет, поставить другой файл в очередь через фильтр источника файлов (асинхронный) невозможно.

Беспрепятственное воспроизведение нескольких файлов в противном случае возможно, но требует разделения графа на части и соединения их вместе с точки зрения отправки данных из одного графа (чтение из файла, тот, который вы восстанавливаете с изменением файла) в другой (с рендерерами, тот, который никогда не перестроен и обеспечивает беспрепятственный пользовательский опыт воспроизведения).

Прочтите другие вопросы о связующих графиках:

person Roman R.    schedule 23.07.2013