다음을 통해 공유


MIDI 렌더러 필터

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

MIDI 렌더러 필터는 MIDI 파서 필터에서 MIDI 데이터를 렌더링합니다.

레이블
필터 인터페이스 IAMClockSlave, IAMDirectSound, IAMResourceControl, IBaseFilter, IBasicAudio, IMediaPosition, IMediaSeeking, IQualityControl, IReferenceClock
입력 핀 미디어 형식 MEDIATYPE_Midi, MEDIASUBTYPE_NULL
입력 핀 인터페이스 IMemInputPin, IPin, IQualityControl
출력 핀 미디어 형식 적용할 수 없음
출력 핀 인터페이스 적용할 수 없음
CLSID 필터링 CLSID_AVIMIDIRender
속성 페이지 CLSID 속성 페이지 없음
실행 파일 quartz.dll
장점 MERIT_PREFERRED
필터 범주 CLSID_MidiRendererCategory

 

설명

형식 형식의 GUID는 NULL이지만 형식 블록에는 다음 구조가 포함됩니다.

typedef struct _MIDIFORMAT {
    DWORD       dwDivision;
    DWORD       dwReserved[7];
} MIDIFORMAT, FAR * LPMIDIFORMAT;

dwDivision 멤버는 파일의 시간 나누기를 지정합니다. 시간 구분은 청크의 모든 표준 MIDI 파일(SMF)의 헤더에 지정됩니다 MThd . MIDI 렌더러는 midiStreamProperty 함수를 호출하여 MIDI 데이터 스트림에서 이 속성을 설정합니다.

MIDI 파서 필터의 샘플에는 MIDI 데이터의 1초가 포함됩니다. MIDI 렌더러는 midiStreamOut 함수를 사용하여 MIDI 데이터를 렌더링합니다. 각 샘플은 동기화 지점입니다. 버퍼의 시작 부분에는 해당 버퍼를 렌더링하기 위한 올바른 상태를 설정하는 데 필요한 모든 명령이 포함됩니다.

요구 사항

요구 사항
헤더
Windows.devices.midi.h

추가 정보

DirectShow 필터