다음을 통해 공유


여러 언어를 지원하려면

[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 작성기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

스트림과 메타데이터 모두에서 여러 언어를 지원할 수 있습니다. Windows Media Format SDK에서 여러 언어 지원의 핵심은 지원되는 언어 목록을 유지하는 IWMLanguageList 인터페이스입니다. 언어 목록은 지원되는 각 언어에 여러 언어를 처리할 때 SDK의 다양한 개체에 사용되는 인덱스를 제공합니다.

IWMLanguageList::AddLanguageByRFC1766String 메서드는 목록에 언어를 추가합니다. IWMLanguageList::GetLanguageCount를 사용하여 총 언어 수를 가져온 다음 각각에 대해 IWMLanguageList::GetLanguageDetails를 호출하는 언어를 반복하여 목록에 이미 있는 언어를 식별할 수 있습니다. 언어 인덱스는 0부터 시작합니다.

언어별 상호 제외를 구성하려면

언어별로 간단한 상호 제외 개체를 구성하는 것은 매우 간단합니다. 이제 각 스트림이 언어와 연결됩니다. 스트림과 연결된 언어는 IWMStreamConfig3::SetLanguage를 사용하여 설정할 수 있습니다. 상호 배타적 스트림을 모두 구성한 후에는 다른 형식과 마찬가지로 상호 제외 개체를 만드면 됩니다. 그런 다음 형식에 대한 CLSID_WMMUTEX_Language 전달하는 IWMMutualExclusion::SetType 을 호출합니다.

배타적 스트림이 비트 전송률로 상호 배타적이면 언어에서 상호 배타적인 스트림은 더 복잡해집니다. 이 경우 다음 단계를 수행하여 상호 배타적인 레코드를 사용해야 합니다.

  1. 각 언어에서 서로 다른 비트 전송률의 스트림에 대한 상호 제외 개체를 만듭니다. 비트 전송률로 상호 제외 개체를 만드는 방법에 대한 자세한 내용은 다중 비트 속도 상호 제외 사용을 참조하세요.
  2. 상호 제외 개체를 만듭니다. IWMMutualExclusion::SetType을 호출하고 CLSID_WMMUTEX_Language 전달하여 언어별 독점성을 지정합니다.
  3. IWMMutualExclusionQueryInterface 메서드를 호출하여 2단계에서 만든 상호 제외 개체의 IWMMutualExclusion2 인터페이스에 대한 포인터를 가져옵니다.
  4. 각 언어에 대해 IWMMutualExclusion2::AddRecord 메서드를 한 번 호출하여 상호 배타적인 스트림 레코드를 만듭니다.
  5. 4단계에서 만든 각 레코드에 대해 IWMMutualExclusion2::AddStreamForRecord를 호출하여 적절한 언어의 스트림을 추가합니다.

여러 언어로 파일을 읽으려면

reader 개체는 파일에서 사용 가능한 스트림 언어를 식별하는 메서드를 제공합니다. IWMReaderAdvanced4::GetLanguageCount를 호출하여 출력에 대해 지원되는 언어 수를 검색할 수 있습니다. 그런 다음 IWMReaderAdvanced4::GetLanguage를 호출하여 각 언어에 대한 세부 정보를 검색할 수 있습니다.

IWMReaderAdvanced2::SetOutputSetting을 호출하여 해당 언어의 인덱스를 판독기에게 전달하여 재생할 언어를 지정할 수 있습니다. 그러면 파일의 다른 상호 제외 개체에 대한 자동 스트림 선택을 유지하면서 지정된 언어를 선택합니다.

고급 항목

IWMLanguageList 인터페이스

IWMMutualExclusion 인터페이스

IWMMutualExclusion2 인터페이스

IWMReaderAdvanced2 인터페이스

IWMReaderAdvanced4 인터페이스

IWMStreamConfig3 인터페이스