DirectShow 中的 DVD 支持功能

[与此页面关联的功能(DirectShow)是一项旧功能。 它已被 MediaPlayerIMFMediaEngine取代,并在媒体基金会 音频/视频捕获。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获,而不是 DirectShow。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]

DVD 导航器 筛选器的功能通过两个接口(IDvdControl2)公开,后者提供 DVD 导航器的“set”方法,IDvdInfo2(提供“get”方法)。

DVD 导航器支持以下功能:

  • 卡拉OK 支持:可以使用 DVD 导航器编写 DVD 卡拉OK 应用程序。 (这需要兼容的解码器。
  • 简化对 DVD 文本信息字符串的访问:DVD 导航器分析这些字符串,并使应用程序能够轻松枚举、识别和检索它们。
  • 通过 IBasicAudio 进行音频音量控制
  • 支持在发出停止命令时自定义 DVD 导航器的行为:应用程序可以指示 DVD 导航器在重新启动筛选器图时从当前位置恢复,或从光盘的开头开始播放。
  • 数字剧院系统(DTS)和索尼动态数字声音(SDDS)音频支持。 DTS 和 SDDS 音频流由 DVD 导航器识别,并传递到音频解码器。 (需要第三方 DTS 兼容或与 SDDS 兼容的解码器来解码和播放音频。
  • 改进了对家长级别更改的支持:DVD 导航器使应用程序能够接受、拒绝或忽略光盘中的家长级别更改命令。
  • 用于管理 DVD 导航器和同步命令状态的高级选项
  • 支持帧单步执行、帧准确查找和反向播放。 这些功能需要支持视频解码器。
  • 能够在游戏中保存当前位置,并随时返回该位置。
  • 简化了对非顺序 PGC 游戏中时间事件的支持:对于非顺序 PGC 游戏,DVD 导航器会将原始时间代码信息中继到应用程序。
  • 时间代码信息。 DVD_HMSF_TIMECODE 结构可用于代替二进制编码的十进制(BCD)格式。 DVD_HMSF_TIMECODE 包含易于访问的成员数小时、分钟、秒和帧,并且可以转换为/从 ULONG
  • 控制在查找作后筛选器图形是否刷新的功能:图形缓冲区在任何给定时间最多可以包含几秒钟的视频。 可以指示图形在查找后完成缓冲视频播放,或立即在新位置播放。
  • 在常规参数寄存器中设置值的功能:熟悉 DVD 规范的用户想要实现高级功能的高级功能。
  • 生成用于所有实际用途的数字光盘标识符的功能是唯一的

编写 DVD 应用程序需要哪些后台?

所有应用程序开发人员都应基本熟悉 DVD 技术提供的功能,例如家长管理级别、多个音频和子图片流以及角度块。 DVD 基础知识 简要介绍了这些功能:第三方发布中提供了更完整的说明。 除非你打算在附件 J 命令集之外实现高级功能,否则不需要引用 DVD 规范。

使用 DirectShow 的 C/C++ 开发人员应熟悉 COM 客户端编程技术,例如创建 COM 对象并获取和释放 COM 接口指针。 可能还需要对筛选器图形作的一般知识,因为可能需要直接访问和作图形。

DVD 应用程序