Domanda

Ho una domanda veloce: sto caricando un file mp3 in un oggetto NSData e quindi lo gioco usando AVAudioPlayer nel mio gioco. Circa ogni secondo, la frequenza dei fotogrammi diminuisce e sullo schermo è possibile notare una balbuzie. Non è un grande rallentamento, ma chiaramente evidente e sconvolgente per il gameplay. Non riprodurre la traccia musicale con AVAudioPlayer non mostra alcun rallentamento.

Come posso evitare che ciò accada?

Grazie.

Florian

È stato utile?

Soluzione

Per riferimento futuro, ecco la soluzione:

L'impostazione della categoria della sessione audio su kAudioSessionCategory_AmbientSound (per consentire la riproduzione simultanea della musica dell'iPod) disabilita in qualche modo l'accelerazione hardware MP3. L'impostazione della categoria audio su kAudioSessionCategory_SoloAmbientSound risolve questo problema, ma non consente la riproduzione di iPod. Ora imposto la categoria della sessione audio a seconda che la musica di sottofondo sia abilitata o disabilitata per consentire la riproduzione simultanea di iPod.

Altri suggerimenti

L'mp3 è un formato audio codificato / compresso. Puoi provare a ridurre la frequenza di campionamento (ad esempio, invece di 128 kb / s prova 64 kb / s) o passare a un formato non codificato come pcm lineare. I contro sono: qualità audio inferiore nel primo caso, dimensione del file più alta nel secondo. Ma questo può aiutare a migliorare le prestazioni generali della tua app.

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