Sto lavorando a un'applicazione audio, scritta in C. Devo fornire la riproduzione audio dal vivo sotto Windows. Devo decidere quale API audio utilizzare. Sto pensando di usare the basic waveOut API, ma volevo controllare per vedere cosa consiglia la comunità qui.Migliore API per audio di basso livello in Windows?
Desidero codice che funzioni solo su qualsiasi versione recente di Windows, senza bisogno di installare librerie; e voglio una minima latenza.
Non ho bisogno né voglio alcun "effetto", ho solo bisogno di riprodurre fedelmente i campioni d'onda generati dall'applicazione.
La mia comprensione è che la maggior parte delle applicazioni audio professionali su Windows utilizzano ASIO, che offre un'eccellente bassa latenza, ma non voglio ASIO perché voglio che il mio codice funzioni correttamente e la maggior parte delle persone non ha pre-ASIO installato sui loro computer. (In un secondo momento potrei tornare indietro e aggiungere ASIO come opzione, ma per prima cosa cercherò la soluzione più generale.)
C'è qualcosa là fuori che sarebbe meglio di waveOut per i miei scopi, o è quella la scelta migliore?
e che dire di XAudio2? –
XAudio2 è destinato alla sostituzione di DirectSound. È implementato su DirectSound su WinXP. Per WinVista e versioni successive, è integrato nell'audio del kernel. È probabilmente una scelta migliore rispetto all'utilizzo di DirectSound se si prevede di utilizzare DirectSound anziché waveout. –
@JohnKnoeller scusa per averlo prelevato. Puoi approfondire l'argomento "(XAudio2) è implementato su DirectSound su WinXP. Per WinVista e versioni successive, è integrato nell'audio del kernel."? Vengo da [questa domanda] (http://gamedev.stackexchange.com/questions/51450) –