IDvdInfo2::GetSubpictureLanguage 方法 (strmif.h)

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

方法 GetSubpictureLanguage 检索当前标题中指定子图片流的语言。

语法

HRESULT GetSubpictureLanguage(
  [in]  ULONG ulStream,
  [out] LCID  *pLanguage
);

参数

[in] ulStream

要为其检索语言的子图片流的编号。

[out] pLanguage

指向接收区域设置信息的 LCID 的指针。 然后,可以使用 Win32 MAKELANGID 宏从 LCID 中提取语言信息。

返回值

返回以下 HRESULT 值之一。

返回代码 说明
S_OK
成功。
E_INVALIDARG
无效的参数。
VFW_E_DVD_INVALIDDOMAIN
DVD 导航器未初始化或不在有效域中。

注解

若要获取菜单可用的文本语言,请调用 GetMenuLanguagesGetSubpictureLanguage 如果流包含未知语言,则将 pLanguage 指向的值设置为零。 按如下所示调用 Win32 GetLocaleInfo 函数,以从 pLanguage 创建用户可读的字符串名称:

C++
LCID Language;
hr = pDvdInfo->GetSubpictureLanguage(ulStream, &Language);
if (SUCCEEDED(hr))
{
    int cchSize = GetLocaleInfo(Language, LOCALE_SENGLANGUAGE, 0, 0);
    TCHAR *szString = new TCHAR[cchSize];
    if (szString)
    {
        GetLocaleInfo(Language, LOCALE_SENGLANGUAGE, szString, cchSize);
        /* ... */
        delete [] szString;
    }
}

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)
Library Strmiids.lib

另请参阅

DVD 应用程序

错误和成功代码

IDvdInfo2 接口