[Windows Media Format 11 SDK 이 페이지와 연결된 기능은 레거시 기능입니다. "소스 리더과 싱크 라이터로 대체되었습니다." 원본 판독기 및 싱크 기록기 Windows 10 및 Windows 11에 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 원본 판독기 및 싱크 기록기 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
비동기 판독기는 IWMReaderCallback::OnSample 콜백 메서드를 호출하여 프레젠테이션 시간 순서로 제어 애플리케이션에 샘플을 제공합니다. 비동기 판독기를 사용하여 애플리케이션을 만들 때 압축되지 않은 샘플을 처리하려면 OnSample 구현해야 합니다. 일반적으로 콘텐츠를 렌더링하기 위해 만든 함수 또는 메서드는 OnSample내에서 호출됩니다.
OnSample 콜백의 일반적인 구현에는 다음 단계가 포함됩니다.
- pSample전달된 버퍼에서 INSSBuffer::GetBufferAndLength 호출하여 샘플을 포함하는 버퍼의 위치와 크기를 검색합니다.
- 출력 번호에 따라 논리를 분기합니다. 출력 번호는 OnSample에 dwOutputNumber로 전달됩니다.
- 지원하려는 각 출력 번호에 대한 렌더링 논리를 포함합니다. 여러 출력에서 샘플을 렌더링하는 경우 렌더링을 동기화해야 할 수 있습니다.
ASF 파일에서 압축된 샘플을 제공하는 애플리케이션은 IWMReaderCallbackAdvanced::OnStreamSample 콜백 메서드를 구현해야 합니다. OnStreamSample 함수는 출력 번호로 압축되지 않은 샘플 대신 스트림 번호로 압축된 샘플을 수신한다는 점을 제외하고 OnSample거의 동일합니다.
관련 항목