판독기 개체

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

판독기 개체는 미디어 파일에서 데이터 샘플을 읽습니다. 판독기 개체는 현재 ASF(고급 시스템 형식) 파일 구조와 MP3 파일을 사용하는 파일을 지원합니다. 판독기 개체에서 전달된 데이터는 압축을 풀고 기본적으로 렌더링할 준비가 되어 있지만 원하는 경우 압축을 풀지 않고 샘플을 배달할 수 있습니다. 샘플은 판독기 개체에서 비동기적으로 전달됩니다. 수신하려면 콜백 함수를 설정해야 합니다. ASF 파일의 동기 재생의 경우 동기 판독기 개체를 사용합니다. 판독기나 동기 판독기는 데이터를 렌더링하지 않습니다. 파일에서 검색된 미디어를 표시하려면 사용자 고유의 렌더링 루틴을 제공해야 합니다.

파일에 판독기 개체에서 지원하는 코덱으로 디코딩할 수 있는 인코딩된 미디어가 포함된 경우 압축되지 않은 출력의 형식을 제어할 수 있습니다. 스트림의 압축 해제된 출력 형식을 변경하려면 해당 스트림에 대한 기본 출력 미디어 속성 개체를 검색하고 변경한 다음 판독기의 스트림에 다시 할당해야 합니다. 출력 미디어 속성 개체는 판독기 개체에 종속되며 IWMReader::GetOutputProps 메서드를 사용하여 만들어야 합니다.

판독기 개체는 IWMReader 인터페이스에 대한 포인터를 설정하는 WMCreateReader 함수에 의해 만들어집니다. Reader 개체의 다른 인터페이스는 QueryInterface 메서드를 호출하여 가져올 수 있습니다.

다음 인터페이스는 판독기 개체에서 지원됩니다.

인터페이스 설명
IReferenceClock 판독기에서 사용하는 시스템 클록에 대한 액세스를 제공합니다.
IWMDRMReader 라이선스 획득, DRM 속성 및 클라이언트 개별화를 관리합니다.
IWMDRMReader2 OPL(출력 보호 수준)을 사용하여 권한을 지정하는 라이선스에 대한 액세스를 제공합니다.
IWMHeaderInfo 메타데이터, 표식 및 스크립트 데이터를 포함하여 헤더 정보를 설정하고 검색 합니다.
IWMHeaderInfo2 파일의 콘텐츠를 인코딩하는 데 사용된 코덱에 대한 정보를 검색합니다. IWMHeaderInfo의 모든 메서드를 상속합니다.
IWMHeaderInfo3 큰 특성 크기, 중복 특성 이름 및 여러 언어 지원을 지원합니다. IWMHeaderInfo 및 IWMHeaderInfo2의 모든 메서드 상속합니다.
IWMPacketSize 판독기에서 로드된 파일에서 가장 큰 패킷의 크기를 검색합니다.
IWMPacketSize2 판독기에서 로드된 파일에서 가장 작은 패킷의 크기를 검색합니다.
IWMProfile 판독기에서 로드된 파일의 프로필 정보에 대한 액세스를 제공합니다.
IWMProfile2 프로필과 연결된 GUID(Globally Unique Identifier)(있는 경우)를 검색합니다. IWMProfile의 모든 메서드를 상속합니다.
IWMProfile3 프로필에서 대역폭 공유 및 스트림 우선 순위 지정 정보를 지원합니다. IWMProfile 및 IWMProfile2의 모든 메서드 상속합니다.
IWMReader 출력 속성 열기, 닫기, 시작, 일시 중지, 다시 시작, 중지 및 가져오기 및 설정과 같은 작업을 포함하여 기본 파일 읽기 기능을 제공합니다.
IWMReaderAccelerator DirectX 비디오 가속과 통신합니다.
IWMReaderAdvanced 사용자가 제공한 클록, 버퍼 할당, 반환 통계 및 스트림 선택 알림과 같은 판독기의 고급 기능을 제공합니다.
IWMReaderAdvanced2 기존 판독기 개체에 대한 고급 메서드의 추가 범위를 제공합니다. IWMReaderAdvanced의 모든 메서드를 상속합니다.
IWMReaderAdvanced3 고급 검색 및 스트리밍 제어를 제공합니다. IWMReaderAdvanced 및 IWMReaderAdvanced2의 모든 메서드 상속합니다.
IWMReaderAdvanced4 여러 언어 지원을 포함한 고급 판독기 옵션을 제공합니다. IWMReaderAdvanced, IWMReaderAdvanced2IWMReaderAdvanced3의 모든 메서드 상속합니다.
IWMReaderNetworkConfig 네트워크 구성 설정을 제어합니다.
IWMReaderNetworkConfig2 고급 네트워크 구성 설정에 대한 액세스를 제공합니다. IWMReaderNetworkConfig의 모든 메서드를 상속합니다.
IWMReaderStreamClock 스트림 클록에서 타이머를 설정하고 취소하고 지정된 스트림 클록의 현재 값을 검색합니다.
IWMReaderTimecode 판독기에서 로드된 파일의 SMPTE 시간 코드 범위에 대한 정보를 제공합니다.
IWMReaderTypeNegotiation 스트림의 출력 속성에 대한 변경 내용이 제대로 작동하는지 테스트합니다.

 

판독기 개체의 진행률을 추적하기 위해 애플리케이션에서 다음 콜백 인터페이스를 구현할 수 있습니다.

인터페이스 설명
IWMCredentialCallback 사용자의 자격 증명을 획득하고 원격 사이트에 액세스할 수 있는 권한이 있는지 확인합니다.
IWMReaderAllocatorEx IWMReaderCallbackAdvanced 인터페이스의 AllocateForOutputAllocateForStream 메서드에 대한 확장된 대안을 제공합니다.
IWMReaderCallback IWMReaderStartOpen 메서드에 대한 콜백 메서드를 제공합니다.
IWMReaderCallbackAdvanced IWMReaderAdvanced 인터페이스의 메서드에 대한 콜백 메서드를 제공합니다.
IWMStatusCallback 상태 정보를 호스트 애플리케이션에 전달해야 하는 경우에 필요합니다.

 

개체

ASF 파일 읽기

동기 판독기 개체