共用方式為


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 會對應至區塊的 UINT32 大小。 pDecodedPacketCumulativeBytes 會對應至包含區塊內容的 UINT32 緩衝區。 在 Xbox 360 上載入緩衝區時,緩衝區的內容必須交換位元組。

配置來保存 XAUDIO2_BUFFERXAUDIO2_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

另請參閱

結構