Windows Media Audio 인코더는 오디오 스트림을 인코딩합니다. 인코더는 인코딩된 출력의 세 가지 범주인 Windows Media Audio Standard, Windows Media Audio Professional 및 Windows Media Audio Lossless를 지원합니다.
클래스 식별자
Windows Media Audio Encoder의 CLSID(클래스 식별자)는 상수 CLSID_CWMAEncMediaObject 표시됩니다. CoCreateInstance를 호출하여 오디오 인코더의 인스턴스를 만들 수 있습니다.
입력 형식
다음 표에서는 Windows Media Audio 인코더에서 지원하는 입력 범주를 나타내는 오디오 형식 태그를 보여 줍니다. 인코더에 대한 입력 및 출력 형식을 설정하는 방법에 대한 자세한 내용은 오디오 인코딩 구성을 참조 하세요.
| 서식 태그 상수 | 태그 값 서식 지정 | 오디오 형식 |
|---|---|---|
| WAVE_FORMAT_PCM | 0x0001 | PCM 형식 |
| WAVE_FORMAT_IEEE_FLOAT | 0x0003 | IEEE 부동 소수점 |
| WAVE_FORMAT_EXTENSIBLE | 0xFFFE | WAVEFORMATEXTENSIBLE 구조체의 PCM/IEEE 형식 |
출력 형식
다음 표에서는 Windows Media Audio 인코더에서 지원하는 출력 범주를 나타내는 오디오 형식 태그를 보여 줍니다.
| 서식 태그 상수 | 태그 값 서식 지정 | 오디오 형식 |
|---|---|---|
| WAVE_FORMAT_WMAUDIO2 | 0x0161 | Windows Media Audio Standard |
| WAVE_FORMAT_WMAUDIO3 | 0x0162 | Windows Media Audio Professional |
| WAVE_FORMAT_WMAUDIO_LOSSLESS | 0x0163 | Windows Media 오디오 무손실 |
인터페이스
오디오 엔도더 개체는 개체를 DMO(DirectX Media Object)로 사용할 수 있도록 IMediaObject 인터페이스를 노출하고, 개체를 MFT(Media Foundation Transform)로 사용할 수 있도록 IMFTransform 인터페이스를 노출합니다.
Windows Media Audio 인코더는 가져오는 인터페이스와 실행 중인 Windows 버전에 따라 DMO 또는 MFT로 동작합니다. 다음 표에서는 오디오 인코더가 DMO 또는 MFT로 동작하는 조건을 보여 줍니다.
| 운영 체제 | 인코더 동작 |
|---|---|
| Windows XP | Windows Media Audio 인코더는 항상 DMO로 동작합니다. |
| Windows Vista | 기본적으로 Windows Media Audio 인코더는 DMO로 동작합니다. 오디오 인코더에서 IMFTransform 인터페이스 또는 IPropertyStore 인터페이스를 가져오는 경우 MFT로 동작합니다. |
| Windows 7 | 기본적으로 Windows Media Audio 인코더는 DMO로 동작합니다. 오디오 인코더에서 IMFTransform 인터페이스를 가져오는 경우 MFT로 동작합니다. |
인코더 속성
Windows Media Audio 인코더는 다음 속성을 지원합니다.
| 속성 | 설명 |
|---|---|
| MFPKEY_AVGCONSTRAINED | 인코더가 평균 제어 가능한 VBR 인코딩을 사용하는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_BMAX | 최대 비트 속도로 제한된 VBR(가변 비트 전송률) 스트림의 버퍼 창을 밀리초 단위로 지정합니다.
Standard, Professional. 읽기/쓰기입니다. |
| MFPKEY_CHECKDATACONSISTENCY2P | 2단계 VBR 인코딩을 수행할 때 인코더가 패스 간에 데이터 일관성을 위해 검사 여부를 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_CONSTRAINDECLATENCY | 인코더가 최대 디코더 대기 시간 요구 사항에 의해 제한되는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_CONSTRAINENCCOMPLEXITY | 인코딩 알고리즘의 복잡성이 제한되는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_CONSTRAINENCLATENCY | 인코더가 최대 대기 시간 요구 사항에 의해 제한되는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_CONSTRAIN_ENUMERATED_VBRQUALITY | 인코더에 의해 열거된 모드가 품질 요구 사항을 충족하는 모드로 제한되는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DECODERCOMPLEXITYPROFILE | 인코딩된 콘텐츠의 복잡성 프로필을 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_DESIRED_VBRQUALITY | VBR 인코딩에 원하는 품질 수준을 지정합니다.
Standard, Professional, Lossless. 쓰기 전용입니다. |
| MFPKEY_DYN_ALLOW_NOISESUB | 인코더가 노이즈 대체를 사용하는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_ALLOW_PCMRANGELIMITING | 인코더가 PCM 범위 제한을 사용하는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_BANDTRUNC_BWCEIL | 인코더에서 대역 잘림에 허용되는 최대 코딩된 대역폭을 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_BANDTRUNC_BWFLOOR | 인코더에서 대역 잘림에 허용되는 최소 코딩된 대역폭을 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_BANDTRUNC_QCEIL | 최소 코딩된 대역폭이 허용되는 품질을 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_BANDTRUNC_QFLOOR | 최대 코딩된 대역폭이 허용되는 품질을 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_BANDTRUNCATION | 인코더가 대역 잘림을 수행할지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_SIMPLEMASK | 인코더가 Windows Media Audio 인코더 버전 7에서 수행하는 마스크 계산 스타일을 사용하는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_STEREO_PREPROC | 인코더가 스테레오 이미지 처리를 수행할지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_VBR_BAVG | 평균 제어 가능한 VBR 인코딩을 사용하도록 구성된 인코더의 버퍼 창을 밀리초 단위로 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_DYN_VBR_RAVG | 평균 제어 가능한 VBR 인코딩을 사용하도록 구성된 인코더의 평균 비트 속도를 초당 비트 단위로 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_ENCCOMPLEXITY | 인코딩 알고리즘의 복잡성을 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_ENDOFPASS | 인코딩 패스의 끝을 지정합니다.
Standard, Professional. 쓰기 전용입니다. |
| MFPKEY_ENHANCED_WMA | 코어 인코더가 "Plus" 기능을 사용하는지 여부를 지정합니다.
Professional. 읽기/쓰기입니다. |
| MFPKEY_MAXDECLATENCYMS | 디코더의 최대 대기 시간(밀리초)을 지정합니다.
Standard, Professional, Lossless. 쓰기 전용입니다. |
| MFPKEY_MAXENCLATENCYMS | 인코더의 최대 대기 시간(밀리초)을 지정합니다.
Standard, Professional, Lossless. 쓰기 전용입니다. |
| MFPKEY_MOST_RECENTLY_ENUMERATED_VBRQUALITY | 가장 최근에 열거된 출력 형식의 VBR 품질 수준을 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_PASSESRECOMMENDED | 인코더에서 지원하는 최대 패스 수를 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_PASSESUSED | 인코더가 콘텐츠를 인코딩하는 데 사용할 패스 수를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_PEAKCONSTRAINED | 인코더가 최고 비트 속도로 제한되는지 여부를 지정합니다.
Standard, Professional. 읽기/쓰기입니다. |
| MFPKEY_PREFERRED_FRAMESIZE | 프레임당 기본 설정 샘플 수를 지정합니다.
Professional. 읽기/쓰기입니다. |
| MFPKEY_REQUESTING_A_FRAMESIZE | 인코더에서 기본 프레임 크기를 사용해야 하는지 여부를 지정합니다.
Professional. 읽기/쓰기입니다. |
| MFPKEY_RMAX | 제한된 2-pass VBR(가변 비트 비율) 인코딩에 사용되는 최고 비트 속도를 초당 비트 단위로 지정합니다.
Standard, Professional. 읽기/쓰기입니다. |
| MFPKEY_STAT_BAVG | 인코딩된 스트림의 평균 버퍼 창을 밀리초 단위로 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_STAT_BMAX | 인코딩된 스트림의 최대 버퍼 창(밀리초)을 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_STAT_RAVG | 인코딩된 스트림의 평균 비트 속도를 초당 비트 단위로 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_STAT_RMAX | 인코딩된 스트림의 최대 비트 속도를 초당 비트 단위로 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_VBRENABLED | 인코더가 VBR 인코딩을 사용하는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_WMA_ELEMENTARY_STREAM | 이 속성은 현재 Windows Media Audio 코덱에서 사용되지 않습니다. |
| MFPKEY_WMADRC_AVGREF | 오디오 콘텐츠의 평균 볼륨 수준을 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_WMADRC_PEAKREF | 오디오 콘텐츠에서 발생하는 가장 높은 볼륨 수준을 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_WMAENC_AVGBYTESPERSEC | VBR로 인코딩된 오디오의 초당 평균 바이트를 지정합니다.
Standard, Professional, Lossless. 읽기 전용. |
| MFPKEY_WMAENC_BUFFERLESSCBR | 인코더가 프레임당 1개의 WMA 패킷을 생성해야 하는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_WMAENC_GENERATE_DRC_PARAMS | 인코더가 동적 범위 컨트롤 매개 변수를 생성해야 하는지 여부를 지정합니다.
Standard, Professional, Lossless. 읽기/쓰기입니다. |
| MFPKEY_WMAENC_ORIGWAVEFORMAT | 입력 오디오 콘텐츠를 설명하는 WAVEFORMATEX 구조를 지정합니다.
Standard, Professional. 읽기/쓰기입니다. |
| MFPKEY_WMAENC_RTSPDIF | 인코더에서 실시간 S/PDIF 인코딩을 사용하도록 설정할지 여부를 지정합니다.
Professional. 읽기/쓰기입니다. |
요구 사항
| 요구 사항 | 값 |
|---|---|
| 클라이언트 |
Windows XP, Windows Vista 또는 Windows 7 |
| 헤더 |
|
| DLL |
|
참고 항목