IDvdInfo2::GetAudioLanguage 方法 (strmif.h)

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

方法 GetAudioLanguage 检索当前游戏中指定音频流的语言。

语法

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

参数

[in] ulStream

正在检索的语言的音频流编号。

[out] pLanguage

接收语言信息。

返回值

返回以下 HRESULT 值之一。

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

注解

此方法不返回菜单的语言。 如果流包含未知语言,则将 pLanguage 指向的值设置为零。 调用 GetLocaleInfo 函数以从 pLanguage 创建可读的字符串名称:

C++
LCID Language;
hr = pDvdInfo->GetAudioLanguage(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 接口