다음을 통해 공유


XAUDIO2_BUFFER_WMA 구조체(xaudio2.h)

xWMA 데이터를 제출할 때 IXAudio2SourceVoice::SubmitSourceBuffer 와 함께 사용됩니다.

구문

typedef struct XAUDIO2_BUFFER_WMA {
  const UINT32 *pDecodedPacketCumulativeBytes;
  UINT32       PacketCount;
} XAUDIO2_BUFFER_WMA;

멤버

pDecodedPacketCumulativeBytes

디코딩된 패킷 누적 데이터 크기 배열, 각 요소는 해당 xWMA 패킷이 순서대로 디코딩된 후 누적된 바이트 수이며 PacketCount 요소가 있어야 합니다.

PacketCount

제출된 xWMA 패킷의 수는 = 1이어야 >하며 각 XAUDIO2_BUFFER 균등하게 나눠야 합니다.IXAudio2SourceVoice::SubmitSourceBuffer에 전달된 AudioBytes 값입니다.

설명

xWMA 파일을 한 번에 몇 개의 패킷으로 스트리밍하는 경우 마지막 패킷에 XAUDIO2_END_OF_STREAM 지정해야 합니다. 또는 애플리케이션이 마지막 패킷을 제출한 후 IXAudio2SourceVoice::D iscontinuity 를 호출할 수 있습니다.

또한 xWMA 파일을 한 번에 몇 개의 패킷으로 스트리밍할 때 애플리케이션은 현재 제출된 패킷의 모든 항목에서 이전 패킷의 pDecodedPacketCumulativeBytes[PacketCount-1]를 빼야 합니다.

XAUDIO2_BUFFER_WMA 멤버는 재생 중인 xWMA 파일의 'dpds' RIFF 청크에 포함된 값에 해당합니다. PacketCount 는 청크의 UINT32s 크기에 해당합니다. pDecodedPacketCumulativeBytes 는 청크의 내용을 포함하는 UINT32 버퍼에 해당합니다. Xbox 360에서 버퍼를 로드할 때 버퍼의 콘텐츠를 바이트 교환해야 합니다.

XAUDIO2_BUFFER 또는 XAUDIO2_BUFFER_WMA 구조를 보유하도록 할당된 메모리는 IXAudio2SourceVoice::SubmitSourceBuffer 호출이 반환에 전달되는 즉시 해제될 수 있습니다. 구조체가 가리키는 데이터(각각 pAudioDatapDecodedPacketCumulativeBytes)는 버퍼가 완료되거나( IXAudio2VoiceCallback::OnBufferEnd 콜백 에 의해 신호로 표시됨) 음성이 중지되고 제거될 때까지 해제할 수 없습니다.

Windows 8.x의 XAUDIO 2.8은 xWMA 디코딩을 지원하지 않습니다. 대신 Windows Media Foundation API를 사용하여 WMA에서 PCM으로 디코딩을 수행합니다. 이 기능은 XAUDIO의 DirectX SDK 버전 및 Windows 10 XAUDIO 2.9에서 사용할 수 있습니다.

플랫폼 요구 사항

Windows 10(XAudio2.9); Windows 8, Windows Phone 8(XAudio 2.8); DirectX SDK(XAudio 2.7)

요구 사항

요구 사항
헤더 xaudio2.h

추가 정보

구조체