除 Windows Media Player SDK 之外,编写 DSP 插件还需要 Microsoft DirectX? SDK。这些插件有一个明显特征,即实现由 DirectX SDK 提供的 IMediaObject 接口。media player 可视化效果
当 DSP 插件安装在最终用户的计算机上并被激活时,Windows Media Player 在数据呈现之前将音频和视频数据传递给该插件。Player 分配输入缓冲区和输出缓冲区,并使插件能够对这两个缓冲区进行访问。必须实现 IMediaObject 接口的各种方法,以便从输入缓冲区读取数据,以适用于插件的任何方式对数据进行处理,然后将修改后的数据写入输出缓冲区。Windows Media Player 将呈现从输出缓冲区获取的数据。
可以运行 Windows Media Player 插件向导创建 DSP 插件的示例实现。该示例实现 IMediaObject 接口,并实现一个称为 DoProcessOutput 的实用程序函数。很多情况下,只需使用 DSP 插件的特有代码修改此实用程序,并利用向导提供的所有其他代码。
呈现插件
使用 Windows Media Format SDK,可以向 Windows Media 文件中添加任何数据流。此数据流的格式不受限制,包括 Windows Media Player 默认情况下无法识别的格式。
有两种方法可用来呈现包含此类数据流的 Windows Media 文件。
1、可以编写一个自定义播放应用程序。这种情况下,除了包含用于呈现您的特有内容的代码之外,还必须包含用于提供标准音频、视频和脚本流的代码以及用于显示用户界面的代码。
2、也可以为 Windows Media Player 编写一个呈现插件。这种情况下,仍须编写用于呈现您的特有内容的代码,但是可以利用 Player 的固有功能来呈现支持的流并提供最终用户已有所了解的用户界面。
Windows Media Player 插件向导可以创建用于呈现插件的示例实现。该示例可实现呈现插件所需的许多接口,还可以实现一个称为 DoRendering 的实用程序函数。只需使用用于呈现特有流的代码修改此实用程序,并利用向导提供的所有其他代码。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-29697-4.html
我更了