DuckingMediaPlayer
此示例应用程序通过实现一个媒体播放器来演示流衰减,该播放器显示系统提供的默认衰减行为,选择退出躲避事件,并在收到鸭子事件时实现自定义处理。 此示例必须与 DuckingCaptureSample一起使用。 有关躲避或流衰减的详细信息,请参阅 默认鸭子体验。
本主题包含以下部分。
描述
此示例演示了以下功能。
- DirectShow 播放媒体文件。
- WASAPI 流管理和处理躲避事件。
要求
产品 | 版本 |
---|---|
Windows SDK | Windows 7 |
Visual Studio | 2008 |
下载示例
此示例在以下位置可用。
位置 | 路径/URL |
---|---|
Windows SDK | \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\DuckingMediaPlayer\... |
生成示例
若要生成 DuckingMediaPlayer 示例,请使用以下步骤:
- 在 Visual Studio 2008 中打开DuckingMediaPlayer.sln。
- 在窗口中,选择 调试 或 发布 解决方案配置,从菜单栏中选择 生成 菜单,然后选择 生成 选项。 如果未从 SDK 的 CMD shell 打开 Visual Studio,Visual Studio 将无法访问 SDK 生成环境。 在这种情况下,除非显式设置在项目文件 DuckingMediaPlayer.vcproj 中使用的环境变量 MSSdk,否则此示例不会生成。
运行示例
如果成功生成应用程序,则会生成可执行文件 DuckingMediaPlayer.exe。 若要运行它,请从 调试 菜单中选择“开始调试” 或 “开始调试” 或在命令窗口中键入 DuckingMediaPlayer
。
若要查看躲避的演示,必须同时执行 DuckingMediaPlayer 和 DuckingCaptureSample。 DuckingCaptureSample 打开通信流,并指示系统生成躲避事件。 当发生躲避事件时,系统将通知 DuckingMediaPlayer,媒体播放器执行用户请求的作。
若要禁用躲避行为,请执行以下作:
- 在 DuckingCaptureSample 窗口中,选择 使用默认输入设备,然后单击 “开始” 以从通信设备启动捕获会话。
- 在 DuckingMediaPlayer 上,选择要播放的媒体文件,并将躲避选项指定为 选择退出鸭子。
请注意,媒体文件在没有任何中断的情况下播放。 系统打开通信流时生成的事件将被忽略。
若要演示系统提供的默认躲避行为,请执行以下作:
- 从控制面板中选择 声音 选项。 在“通信”选项卡上,选择“将其他声音的音量减少 80%。
- 在 DuckingCaptureSample 窗口中,选择 使用默认输入设备,然后单击 “开始” 以从通信设备启动捕获会话。
- 在 DuckingMediaPlayer 上,选择要播放的媒体文件,而无需选择任何躲避选项。
- 在 DuckingCaptureSample 窗口中,单击 停止 以停止通信流。
请注意,当 DuckingCaptureSample 打开通信流时,DuckingMediaPlayer 播放的媒体文件不会中断,但音量级别会降低。 当通信会话停止时,卷将重置为原始设置。 此流衰减行为是系统实现的默认躲避行为。
查看媒体播放器实现的自定义躲避行为:
- 在 DuckingCaptureSample 窗口中,选择 使用默认输入设备,然后单击 “开始” 以从通信设备启动捕获会话。
- 在 DuckingMediaPlayer 上,选择要播放的媒体文件,并将躲避选项指定为“在鸭子上暂停”。
- 在 DuckingCaptureSample 窗口中,单击 停止 以停止通信流。
请注意,当 DuckingCaptureSample 打开通信流时,DuckingMediaPlayer 播放的媒体文件将暂停。 当通信会话停止时,播放将恢复。 此流衰减行为是由媒体播放器实现的躲避行为。
DuckingMediaPlayer 还演示如何将每个应用程序的音量控制与音量混音器集成。
有关流衰减功能的详细信息,请参阅 默认躲避体验。
相关主题
-
使用核心音频 API 的 SDK 示例