Question

J'ai une petite question: je charge un fichier mp3 dans un objet NSData, puis je le joue à l'aide de AVAudioPlayer dans mon jeu. Toutes les secondes environ, la cadence d'images diminue et vous pouvez voir un bégaiement à l'écran. Ce n'est pas un ralentissement majeur, mais clairement perceptible et perturbant le gameplay. Ne pas lire la piste musicale avec AVAudioPlayer n'indique aucun ralentissement.

Comment puis-je empêcher cela?

Merci.

Florian

Était-ce utile?

La solution

Pour référence future, voici la solution:

Le réglage de la catégorie de session audio sur kAudioSessionCategory_AmbientSound (pour permettre à la musique de l’iPod de jouer simultanément) désactive en quelque sorte l’accélération matérielle MP3. Définir la catégorie audio sur kAudioSessionCategory_SoloAmbientSound résout ce problème, mais n'autorise pas la lecture de l'iPod. Je configure maintenant la catégorie de session audio en fonction de l'activation ou non de la musique de fond pour permettre la lecture simultanée de l'iPod.

Autres conseils

Le mp3 est un format audio encodé / compressé. Vous pouvez essayer de réduire le taux d'échantillonnage (par exemple, au lieu de 128 kb / s, essayez de 64 kb / s) ou de passer à un format non codé tel que pcm linéaire. Les inconvénients sont: qualité audio inférieure dans le premier cas, taille de fichier plus élevée dans le second. Mais cela peut aider à améliorer les performances globales de votre application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top