Поделиться через


структура XAUDIO2_BUFFER_WMA (xaudio2.h)

Используется с IXAudio2SourceVoice::SubmitSourceBuffer при отправке данных xWMA.

Синтаксис

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

Члены

pDecodedPacketCumulativeBytes

Декодированные массивы данных накопительного размера пакета, каждый элемент — это количество байтов, накопленных после того, как соответствующий пакет xWMA декодируется по порядку, и должен иметь элементы PacketCount .

PacketCount

Количество отправленных пакетов xWMA должно быть >равно 1 и равномерно разделить на соответствующие XAUDIO2_BUFFER.Значение AudioBytes , переданное в IXAudio2SourceVoice::SubmitSourceBuffer.

Комментарии

При потоковой передаче xWMA-файла по нескольким пакетам за раз следует указать XAUDIO2_END_OF_STREAM в последнем пакете. Кроме того, приложение может вызвать IXAudio2SourceVoice::D iscontinuity после отправки последнего пакета.

Кроме того, при потоковой передаче xWMA-файла нескольких пакетов за раз приложение должно вычесть pDecodedPacketCumulativeBytes[PacketCount-1] из предыдущего пакета из всех записей отправленного пакета.

Члены XAUDIO2_BUFFER_WMA соответствуют значениям, содержащимся в фрагменте RIFF dpds воспроизводимого файла xWMA. PacketCount будет соответствовать размеру блока в UINT32s. pDecodedPacketCumulativeBytes будет соответствовать буферу UINT32, содержательному содержимому блока. Содержимое буфера должно быть заменено на байты при загрузке буфера на Xbox 360.

Память, выделенная для хранения XAUDIO2_BUFFER или XAUDIO2_BUFFER_WMA структуры, может быть освобождена, как только вызов IXAudio2SourceVoice::SubmitSourceBuffer будет передан в возвращает . Данные, на которые указывает структура (pAudioData и pDecodedPacketCumulativeBytes, соответственно), не могут быть освобождены до завершения буфера (о чем сигнализирует обратный вызов IXAudio2VoiceCallback::OnBufferEnd ) или пока голос не будет остановлен и уничтожен.

XAUDIO 2.8 в Windows 8.x не поддерживает декодирование xWMA. Используйте API Windows Media Foundation для декодирования из WMA в PCM. Эта функция доступна в версиях пакета SDK directX для XAUDIO и XAUDIO 2.9 в Windows 10.

Требования к платформе

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); Пакет SDK для DirectX (XAudio 2.7)

Требования

Требование Значение
Заголовок xaudio2.h

См. также раздел

Структуры