> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XMA2 인코더 도구

> XMA2 인코더 도구

XMA2 명령줄 인코더 도구(XMA2Encode)는 Pulse Code Modulation(PCM) 파일 세트를 XMA2 형식으로 또는 XMA2 파일을 PCM 형식으로 변환합니다.

이 도구는 XBOX 360과 XBOX One 모두에 사용될 수 있습니다. XBOX 360의 경우 변경 없이 도구의 출력을 사용할 수 있습니다. XBOX One의 경우 `seek` 테이블이 바이트 스왑되어야 할 수 있습니다. 이를 수행하는 코드는 이 항목의 [XBOX One 형식](#ID4E2DAC) 섹션에 있습니다.

* [XMA2Encode 사용하기](#ID4E1)
* [XBOX One 형식](#ID4E2DAC)
* [자체 XMA 인코더 도구 작성](#ID4EPEAC)

<a id="ID4E1" />

## XMA2Encode 사용하기

다음 코드와 표는 XMA2Encode 사용법을 설명합니다.

| 열 1                                                                                                                                                                                                                    |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `XMA2Encode file [/TargetFile xmafile][/PCMOutputFile pcmfile][/DecodeToPCM pcmfile][/BlockSize][/Quality value][/FilterHighFrequencies][/LoopWholeFile][/UseLoopPoints][/Speaker pos][/MeasureTime][/Verbose][/Help]` |

| 옵션                       | 설명                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file`                   | 변환할 파일의 파일 이름을 지정합니다. 여러 파일/스피커 위치 쌍을 지정할 수 있습니다: `XMA2ENCODE pcmfile [/Speaker pos ...] [pcmfile [/Speaker pos ...] ...] [options]`. 여러 파일을 인코딩할 때 XMA2Encode는 입력 파일이 모두 단일 채널이거나 모두 스테레오여야 하며, 마지막 스트림은 인코딩되는 채널 수에 따라 모노 또는 스테레오여야 합니다.<br /><br />**참고:** XMA2Encode는 PCM 형식 또는 XMA2 형식(`/DecodeToPCM`과 함께)의 오디오 파일만 지원합니다.                                                                                             |
| `/TargetFile xmafile`    | `xmafile`로 인코딩합니다(단 하나의 대상 파일만 허용됨).                                                                                                                                                                                                                                                                                                                                                                                        |
| `/PCMOutputFile pcmfile` | 생성된 XMA2 파일을 다시 `pcmfile`로 디코딩합니다. 이 옵션을 사용할 때 도구는 두 개의 출력 파일을 생성합니다: XMA2 인코딩된 오디오 파일과 방금 생성된 XMA2 파일을 디코딩한 결과인 PCM 파일. 결과 PCM 파일은 새 XMA2 파일과 동일한 오디오 품질을 가집니다. Windows에서 XMA2 파일의 품질을 미리 볼 수 있습니다.                                                                                                                                                                                                                        |
| `/DecodeToPCM pcmfile`   | 기존 XMA2 파일을 `pcmfile`로 디코딩합니다.                                                                                                                                                                                                                                                                                                                                                                                              |
| `/BlockSize`             | 사용할 XMA2 압축 블록 크기를 지정합니다(2KB에서 8,190KB). 기본 블록 크기는 64KB입니다.                                                                                                                                                                                                                                                                                                                                                                 |
| `/Quality value`         | 사용할 XMA2 압축 품질 수준을 지정합니다(1에서 100). 품질의 기본값은 60입니다.                                                                                                                                                                                                                                                                                                                                                                          |
| `/FilterHighFrequencies` | 소스 파일의 고주파를 필터링합니다.                                                                                                                                                                                                                                                                                                                                                                                                         |
| `/LoopWholeFile`         | 루프 포인트가 이미 존재하더라도 전체 파일을 루프합니다. `LoopWholeFile`과 `UseLoopPoints`는 상호 배타적입니다. `LoopWholeFile`이나 `UseLoopPoints` 인수 중 어느 것도 지정되지 않으면, 루프 포인트가 존재하더라도 파일은 루프되지 않습니다.                                                                                                                                                                                                                                                           |
| `/UseLoopPoints`         | 존재하는 경우 기존 루프 포인트를 사용합니다. 그렇지 않으면 루프하지 않습니다. `LoopWholeFile`과 `UseLoopPoints`는 상호 배타적입니다. `LoopWholeFile`이나 `UseLoopPoints` 인수 중 어느 것도 지정되지 않으면, 루프 포인트가 존재하더라도 파일은 루프되지 않습니다.                                                                                                                                                                                                                                              |
| `/Speaker pos`           | 소스 파일의 채널에 대한 스피커 할당을 지정합니다. 이 옵션은 파일 이름 바로 뒤에 와야 합니다. `pos`는 `L`, `R`, `C`, `LFE`, `LS`, `RS`, `LB`, `RB`가 될 수 있으며, `L` = Front left, `R` = Front right, `C` = Front center, `LFE` = 저주파, `LS` = Left surround, `RS` = Right surround, `LB` = Left back, `RB` = Right back입니다.<br /><br />**참고:** 입력 파일에 채널 마스크가 없거나, 파일의 채널 수와 일치하지 않는 비트 세트가 있는 채널 마스크가 있고 `Speaker` 옵션으로 스피커 할당이 지정되지 않은 경우, 결과 XMA 파일은 채널 마스크가 0이 됩니다. |
| `/MeasureTime`           | 인코딩에 소요된 시간을 표시합니다.                                                                                                                                                                                                                                                                                                                                                                                                         |
| `/Verbose`               | 상세한 출력을 활성화합니다.                                                                                                                                                                                                                                                                                                                                                                                                             |
| `/Help`                  | 이 사용법 정보를 표시합니다.                                                                                                                                                                                                                                                                                                                                                                                                            |

<a id="remarks" />

### 비고

모든 옵션은 첫 글자로 축약될 수 있습니다.

다음 표는 XMA2Encode가 인코딩 문제를 나타내기 위해 인쇄할 수 있는 오류 코드를 나열합니다.

| 오류 코드      | 설명                     |
| ---------- | ---------------------- |
| 0x88890001 | 지정된 루프 포인트가 유효하지 않습니다. |
| 0x88890002 | 지정된 형식이 유효하지 않습니다.     |
| 0x88890003 | 매개변수가 범위를 벗어났습니다.      |
| 0x88890004 | 읽기 작업이 실패했습니다.         |
| 0x88890005 | 유효하지 않은 XMA 프레임이 있습니다. |
| 0x88890006 | 불완전한 XMA 프레임이 있습니다.    |
| 0x88890007 | Stuffing 비트가 0이었습니다.   |
| 0x88890008 | 데이터 가져오기가 실패했습니다.      |

<a id="ID4E2DAC" />

## XBOX One 형식

XMA2Encode의 출력은 XBOX One의 경우 `ULONG` 바이트 스왑되어야 합니다. 입력이 .wav 파일이라면 출력은 변경 없이 사용할 수 있습니다.

`seek` 테이블을 바이트 스왑하려면 다음 코드 줄을 사용하십시오.

```cpp theme={null}
for(UINT32 i = 0;(i < xmaformat->BlockCount);i++)
    {
       rgpXMASeekTable[i] = _byteswap_ulong(rgpXMASeekTable[i]);
    }  
```

이 코드 줄을 앱에 추가하여 기능을 테스트한 다음, 앱에서 사전 처리가 필요하지 않도록 스왑을 수행하는 별도의 도구를 작성하는 것을 고려하십시오.

<a id="ID4EPEAC" />

## 자체 XMA 인코더 도구 작성

*xmaencoder.h* 에 정의되고 *xmaencoder.lib* 에 구현된 메서드를 사용하여 자체 인코더 도구를 작성할 수 있습니다. *xmaencoder.h* 파일은 기본적으로 *C:\Program Files (x86)\Microsoft GDK\191100\GXDK\toolKit\include* 폴더에 있습니다. *xmaencoder.lib* 파일은 기본적으로 *C:\Program Files (x86)\Microsoft GDK\191100\GXDK\toolKit\lib\amd64* 폴더에 있습니다.

헤더와 라이브러리에서 사용 가능한 단일 메서드는 [XAudio2XMAEncoder](/build/console-features/audio/tools/xma2encoder/methods/xaudio2xmaencoder-xmaencoder-xbox-microsoft-m)입니다.

헤더에 정의된 `XMA2InMemoryEncoder`와 `XMAInMemoryEncoder` 메서드(레거시)는 사용하지 마십시오.

<a id="ID4EDFAC" />

## 이 섹션의 내용

[XMA2 인코더 참조](/build/console-features/audio/tools/xma2encoder/atoc-xmaencoder)
*xmaencoder.lib* 에서 사용 가능한 함수를 설명합니다.

<a id="ID4EJFAC" />

## 함께 보기

[XMA2 개요](/build/console-features/audio/overviews/xma2-overview)


## Related topics

- [도구](/ko/build/console-features/audio/tools/index.md)
- [XMA2 개요](/ko/build/console-features/audio/overviews/xma2-overview.md)
- [XAudio2XMAEncoder](/ko/build/console-features/audio/tools/xma2encoder/methods/xaudio2xmaencoder-xmaencoder-xbox-microsoft-m.md)
- [XMA2 인코더 라이브러리 및 명령줄 도구](/ko/build/console-features/audio/tools/xma2encoder/index.md)
- [XMA2 인코더 참조 정보](/ko/build/console-features/audio/tools/xma2encoder/atoc-xmaencoder.md)
