비동기 필터 샘플

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

Description

비동기 필터 샘플은 점진적 다운로드를 지원하는 파일 판독기 필터입니다. 이 샘플 필터는 IAsyncReaderIFileSourceFilter 인터페이스를 구현합니다. MPEG 파일은 지원하지만 AVI 파일은 지원하지 않습니다.

사용량

이 샘플에는 필터를 보여 주는 Memfile.exe 작은 명령줄 애플리케이션이 포함되어 있습니다. 명령줄 인수는 미디어 파일과 비트 속도를 초당 킬로바이트 단위로 지정합니다. 애플리케이션은 지정된 속도로 파일을 메모리로 읽고 파일을 재생합니다. 이렇게 하려면 필터의 instance 만들고 필터 그래프에 필터를 추가하고 필터의 출력 핀을 렌더링합니다.

명령줄에서 다음을 입력합니다.

Memfile Filename BitRate

비동기 샘플 필터는 AVI 분할기 필터에 연결할 수 없으므로 AVI 파일을 지원하지 않습니다. 비동기 필터의 출력 핀은 미디어 유형에 대한 MEDIATYPE_Stream 및 MEDIASUBTYPE_NULL 제안합니다. AVI 분할기 필터의 입력 핀은 MEDIASUBTYPE_NULL 허용하지 않으며 자체 형식을 제안하지 않습니다. 따라서 핀 연결이 실패합니다. 적절한 경우 MEDIASUBTYPE_Avi 제공하도록 비동기 필터를 향상시킬 수 있습니다. 예를 들어 파일 형식을 검사하거나 파일 확장자를 사용할 수 있습니다.

샘플 다운로드

DirectShow SDK 샘플을 다운로드하려면 최신 버전의 Windows SDK를 설치합니다.

이 샘플은 [SDK 루트]\Samples\Multimedia\DirectShow\Filters\Async 경로 아래에 설치됩니다.

DirectShow 샘플