Domanda

Ho una coda di audio che ho di gioco, arresto, pausa correttamente, ma mi sto trovando la funzione AudioQueueStop () da prendere molto tempo per l'esecuzione.

Mi piacerebbe fermarsi immediatamente e quindi riavviare la riproduzione di una coda di audio e si chiedeva che cosa il modo più rapido per farlo sarebbe.

Nel mio progetto ho più code audio che tengo in giro per riprodurre i suoni specifici più e più volte. V'è una situazione in cui devo smettere di alcuni di quei suoni e poi subito a loro e molti di più giocare in una sola volta. Non è così male se ci sono solo un paio di code audio che faccio questo per, ma comincia a prendere un lungo lungo tempo se ci sono molti che ho bisogno di fermare e riavviare.

ho potuto fingere chiamando tappa di una coda di audio e quindi la creazione di uno nuovo con lo stesso suono, ma mi chiedevo se ci fosse un modo migliore per farlo.

È stato utile?

Soluzione

AudioQueue può essere disordinato per questo genere di cose. E 'difficile da fermare la coda metà del tampone, e che mezzi il buffer corrente continuerà a svolgere. In più si ha a che fare con problemi di latenza.

Per arresto rapido e la riproduzione con bassa latenza, vorrei consigliare utilizzando il RemoteIO AudioUnit.

È possibile trovare una grande tutorial con il codice qui:

Utilizzando unità audio RemoteIO

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