структура 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 |