MFPCreateMediaPlayer 函数 (mfplay.h)

重要 废弃。 此 API 可能会从 Windows 的未来版本中删除。 应用程序应使用 媒体会话 进行播放。
 

创建 MFPlay 播放器对象的新实例。

语法

HRESULT MFPCreateMediaPlayer(
  [in]  LPCWSTR                 pwszURL,
  [in]  BOOL                    fStartPlayback,
  [in]  MFP_CREATION_OPTIONS    creationOptions,
  [in]  IMFPMediaPlayerCallback *pCallback,
  [in]  HWND                    hWnd,
  [out] IMFPMediaPlayer         **ppMediaPlayer
);

参数

[in] pwszURL

以 Null 结尾的字符串,其中包含要打开的媒体文件的 URL。 此参数可以为 NULL。 如果参数为 NULL则 fStartPlayback 必须为 FALSE

如果此参数为 NULL,则可以稍后通过调用 IMFPMediaPlayer::CreateMediaItemFromURL 打开 URL。

[in] fStartPlayback

如果 为 TRUE,则自动开始播放。 如果 为 FALSE,则在应用程序调用 IMFMediaPlayer::P lay 之前不会开始播放。

如果 pwszURLNULL,则忽略此参数。

[in] creationOptions

_MFP_CREATION_OPTIONS 枚举中零个标志的按位 OR

[in] pCallback

指向由应用程序实现的回调对象的 IMFPMediaPlayerCallback 接口的指针。 使用此接口可从 MFPlay 播放器对象获取事件通知。 此参数可以为 NULL。 如果 参数为 NULL,则应用程序不会从播放器对象接收事件通知。

[in] hWnd

将在其中显示视频的窗口的句柄。 对于仅音频播放,此参数可以为 NULL

hWnd 指定的窗口用于源中第一个选定的视频流。 如果源具有多个视频流,则必须调用 IMFPMediaItem::SetStreamSink ,以在第一个视频流之后呈现任何视频流。

如果 hWndNULL,则 MFPlay 将不会显示任何视频,除非应用程序调用 IMFPMediaItem::SetStreamSink 来指定视频流的媒体接收器。

[out] ppMediaPlayer

接收指向 IMFPMediaPlayer 接口的指针。 调用方必须释放接口。 此参数可以为 NULL。 如果此参数为 NULL则 fStartPlayback 必须为 TRUE,pwszURL 不能为 NULL

返回值

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

在调用此函数之前,请从同一线程调用 CoIntialize (Ex) 以初始化 COM 库。

在内部, MFPCreateMediaPlayer 调用 MFStartup 来初始化 Microsoft Media Foundation 平台。 当播放器对象被销毁时,它会调用 MFShutdown 来关闭平台。 使用 MFPlay 时,应用程序不需要调用 MFStartupMFShutdown

注意 如果在播放器对象的生存期之外使用其他 Media Foundation API,则应用程序应调用 MFStartupMFShutdown
 

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 mfplay.h
Library Mfplay.lib
DLL Mfplay.dll

另请参阅

媒体基础函数

使用 MFPlay 播放音频/视频