IMFPMediaItem::SetStreamSink 方法 (mfplay.h)
重要 废弃。 此 API 可能会从 Windows 的未来版本中删除。 应用程序应使用 媒体会话 进行播放。
设置媒体项的媒体接收器。 媒体接收器是使用一个或多个流中的数据的对象。
语法
HRESULT SetStreamSink(
[in] DWORD dwStreamIndex,
[in] IUnknown *pMediaSink
);
参数
[in] dwStreamIndex
媒体源上流的从零开始的索引。 媒体接收器将从此流接收数据。
[in] pMediaSink
指定媒体接收器的 IUnknown 指针。 传入以下项之一:
- 指向流接收器的指针。 每个媒体接收器都包含一个或多个 流接收器。 每个流接收器从一个流接收数据。 流接收器必须公开 IMFStreamSink 接口。
- 指向创建媒体接收器的激活对象的指针。 激活对象必须公开 IMFActivate 接口。 媒体项使用媒体接收器上的第一个流接收器 (即索引 0) 处的流接收器。
- NULL。 如果将 pMediaSink 设置为 NULL,则使用流类型的默认媒体接收器。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
默认情况下,MFPlay 播放器对象将音频流呈现器呈现到 流式处理音频呈现器 (SAR) ,并将视频流呈现到 增强的视频呈现器 (EVR) 。 可以使用 SetStreamSink 方法为音频或视频流提供不同的媒体接收器;或 ,以支持音频和视频以外的其他流类型。 还可以使用它来配置 SAR 或 EVR,然后再使用它们。
在调用 IMFPMediaPlayer::SetMediaItem 之前调用此方法。 除非停止播放并再次调用 SetMediaItem ,否则在 SetMediaItem 之后调用此方法不起作用。
若要重置媒体项以使用默认媒体接收器,请将 pMediaSink 设置为 NULL。
远程播放优化
如果应用程序通过远程桌面运行,并且你使用音频或视频流的非 NULL 值调用此方法,则 MFPlay 将禁用远程播放优化。 此备注仅适用于音频和视频流。 它不适用于包含某些其他数据类型(如文本)的流。要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfplay.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈