다음을 통해 공유


재생 시 프로필 정보 가져오기

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

파일을 만드는 데 사용되는 프로필의 정보는 파일의 헤더 섹션에 저장됩니다. 두 판독기 개체 모두 파일 헤더에서 프로필 정보에 액세스할 수 있습니다. 판독기에서 프로필 데이터에 액세스하려는 몇 가지 이유가 있습니다. 가장 일반적으로 스트림, 상호 제외 개체 및 대역폭 공유 개체에 대한 정보를 검색해야 합니다.

비동기 판독기 개체와 동기 판독기 개체는 모두 IWMProfile 인터페이스에 대해 쿼리할 수 있습니다. 프로필 정보를 변경해도 판독기에서 파일에 영향을 줄 수 없습니다. 프로필 정보에 액세스하는 방법에 대한 자세한 내용은 프로필 작업을 참조하세요.

스트림 정보

스트림이 구성되는 방법을 알고 있는 것이 중요한 경우도 있습니다. 판독기 개체 중 하나에서 미디어 속성을 검색할 때 출력의 속성을 가져옵니다. 출력 속성은 스트림의 압축되지 않은 데이터가 ASF 파일 내에서 스트림을 구성하는 방식이 아니라 판독기에서 제공하는 방법을 설명합니다.

두 판독기 개체에서 압축되지 않은 스트림 샘플을 수신하는 경우 프로필 정보를 사용하여 압축된 데이터의 형식을 식별해야 합니다. 이는 압축된 스트림을 다른 ASF 파일에 쓰려는 경우에 특히 중요합니다.

또한 스마트 압축을 사용하여 오디오 스트림을 더 낮은 비트 속도로 트랜스코딩할 때 스트림 정보에 액세스해야 합니다.

VBR(가변 비트 속도) 인코딩을 사용하여 스트림이 작성되었는지 여부를 확인할 수 있습니다. 판독기 개체의 IWMProfile 인터페이스에서 VBR 정보에 액세스할 수 없습니다. 인코딩 후 VBR 정보가 파일에 저장되지 않기 때문입니다. 판독기 개체의 IWMHeaderInfo 인터페이스에 대한 포인터를 가져오고 IWMHeaderInfo::GetAttributeByName을 호출하여 VBR 인코딩을 사용하여 스트림이 만들어졌는지 여부를 확인할 수 있습니다. 스트림 번호를 지정하고 g_wszIsVBR 특성 이름으로 전달해야 합니다.

상호 제외 정보

상호 제외를 사용하는 읽기 애플리케이션을 만들려면 프로필에 포함된 상호 제외 개체에 대한 정보에 액세스하려고 합니다. 비트 속도를 제외한 모든 상호 제외 형식의 경우 읽기 애플리케이션은 필요한 모든 스트림 전환을 담당합니다. 스트림을 전환하려면 어떤 스트림이 있는지 알고 있어야 합니다.

대역폭 공유 정보

프로필에 포함된 대역폭 공유 개체는 정보 목적으로만 포함됩니다. 기록기 개체나 판독기 개체 중 어느 것도 대역폭 공유 데이터의 결과로 아무 작업도 수행하지 않습니다. 읽기 애플리케이션에서 대역폭 공유를 사용하려면 프로필 데이터에서 대역폭 공유 정보에 액세스해야 합니다.

참고

파일을 만드는 데 사용되는 프로필의 모든 정보가 파일 헤더에 있는 것은 아닙니다. 일반적으로 인코딩 시만 사용되는 데이터는 파일에 유지되지 않습니다. 여기에는 IWMWriterAdvanced2::SetInputSetting 메서드를 사용하여 설정된 입력 설정과 IWMPropertyVault::SetProperty 메서드를 사용하여 설정된 속성이 포함됩니다.

 

IWMProfile 인터페이스

ASF 파일 읽기