Функции поддержки DVD в DirectShow
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Функциональность фильтра DVD-навигатора предоставляется через два интерфейса: IDvdControl2, который предоставляет методы set для DVD-навигатора, и IDvdInfo2, предоставляющий методы get.
DVD-навигатор поддерживает следующие функции:
- Поддержка караоке: вы можете написать dvd-караоке-приложение с помощью DVD-навигатора. (Для этого требуется совместимый декодер.)
- Упрощенный доступ к текстовым строкам DVD: DVD Navigator анализирует эти строки и позволяет приложениям легко перечислять, определять и извлекать их.
- Управление громкости звука с помощью IBasicAudio
- Поддержка настройки поведения DVD-навигатора при выполнении команды Остановить. Приложения могут указать DVD-навигатору либо возобновить работу из текущего расположения при перезапуске графа фильтра, либо начать воспроизведение с начала диска.
- Поддержка звука Digital Theater Systems (DTS) и Sony Dynamic Digital Sound (SDDS). Аудиопотоки DTS и SDDS распознаются DVD-навигатором и передаются в звуковой декодер. (Для декодирования и воспроизведения звука требуется сторонний декодер, совместимый с DTS или SDDS.)
- Улучшенная поддержка изменений родительского уровня. DVD-навигатор позволяет приложению принимать, отклонять или игнорировать команды изменения родительского уровня с диска.
- Дополнительные параметры для управления состоянием DVD-навигатора и синхронизации команд
- Поддержка пошагового выполнения кадров, точного поиска кадров и обратного воспроизведения. Для этих функций требуется видеодекодер, поддерживающий их.
- Возможность сохранить текущее расположение в заголовке и вернуться к нему в любое время.
- Упрощенная поддержка событий времени в непоследовательных названиях PGC. Для непоследовательных названий PGC DVD-навигатор ретранслирует в приложение необработанные сведения о коде времени.
- Сведения о коде времени. Вместо бинарного закодированного десятичного формата (BCD) можно использовать структуру DVD_HMSF_TIMECODE . DVD_HMSF_TIMECODE содержит легкодоступные члены в течение нескольких часов, минут, секунд и кадров, и может быть приведен к ULONG или из нее.
- Возможность управления очисткой графа фильтра после операции поиска. Буферы графа могут содержать до нескольких секунд видео в любой момент времени. Вы можете указать графу либо завершить воспроизведение буферизованного видео после поиска, либо начать воспроизведение сразу в новом месте.
- Возможность задавать значения в общих регистрах параметров. Расширенная функция для тех, кто знаком со спецификацией DVD, которые хотят реализовать расширенные функции.
- Возможность создавать числовые идентификаторы дисков, которые являются уникальными для всех практических целей.
Какой фон требуется для написания DVD-приложения?
Все разработчики приложений должны иметь базовое представление о функциях, предоставляемых технологией DVD, таких как уровни родительского управления, несколько аудио- и вложенных потоков, а также угловые блоки. Dvd Basics кратко описывает каждую из этих функций; более полные описания доступны в сторонних публикациях. Вам не нужно ссылаться на спецификацию DVD, если только вы не планируете реализовать расширенные функции, выходящие за рамки набора команд Application J.
Разработчики C/C++, использующие DirectShow, должны быть знакомы с методами программирования com-клиента, такими как создание COM-объектов, а также получение и освобождение указателей интерфейса COM. Кроме того, вам могут потребоваться общие знания об операциях с графами фильтров, так как вам может потребоваться получить доступ к графу и управлять ими напрямую.
Связанные темы