Domanda

Ho bisogno della riproduzione audio con queste caratteristiche: buone prestazioni (per gioco), controllo del pitch e capacità di sovrapporre lo stesso campione più volte contemporaneamente (polifonia). Quale sarebbe un modo rapido per ottenere questo su iPhone SDK?


Ecco cosa ho scoperto finora:

Non ci sono librerie disponibili o codici di esempio che lo fanno, per favore mostrami male.

SoundEngine.cpp (dagli esempi di codice CrashLanding e TouchFighter) utilizza OpenAL e consente di controllare il tono, ma ogni volta che viene avviato un buffer, se lo stesso buffer è in esecuzione, la sua testina torna all'inizio.

Una soluzione sporca per ottenere la polifonia con SoundEngine.cpp, senza immergersi nella sua implementazione (che per me è incomprensibile), è caricare più buffer per lo stesso file audio. Diciamo che voglio una polifonia di massimo 4 voci per suono, quindi carico 4 buffer per lo stesso file. Dovrei semplicemente concludere tutto in una classe manageriale. È sicuro seguire questa strada? E / o c'è un modo per hackerare SoundEngine.cpp in modo che sia polifonico?

È stato utile?

Soluzione

FMOD (www.fmod.org) offre tutte queste funzionalità. Dai un'occhiata al loro campione di voci virtuali per la polifonia e l'effetto DSP di pitch shift nei documenti.

Sono solo un cliente, non altrimenti affiliato con loro.

Altri suggerimenti

Il SoundEngine di CrashLanding è un casino, ne starei lontano. Scrivere ciò che vuoi su OpenAL non è difficile, sono poche ore di lavoro. Puoi dare un'occhiata a Finch o al Cocos 2D sound egine .

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