Domanda

Come posso riprodurre correttamente i file audio che possono avere un bitrate variabile (e persino un numero variabile di canali in alcuni casi), come ogg / vorbis?

XAudio si aspetta queste informazioni in una struttura WAVEFORMATEX al momento della creazione della voce sorgente e non sembra fornire un modo per cambiarle per ogni buffer inviato ...

È stato utile?

Soluzione

A meno che non sia elevato, nessun formato audio specifica il output bitrate variabile o il numero variabile di output . Un codec a velocità in bit variabile indica che il numero di bit utilizzati per codificare un numero fisso di campioni varia. Vorbis consente di codificare dinamicamente i canali e anche i canali che possono essere riprodotti con funzioni più semplici come il silenzio. Il numero di canali di uscita rimane costante, così come il bitrate di uscita.

Inoltre, XAudio2 non supporta nativamente i file ogg / vorbis; supporta PCM, ADPCM e xWMA su Windows e PCM, XMA e xWMA su Xbox 360.

In generale, per i formati non nativi, è necessario decomprimere l'audio nell'appropriato output bitrate e formato del canale e inviarlo a un IXAudio2SourceVoice tramite IXAudio2SourceVoice :: SubmitSourceBuffer .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top