Question

J'ai une file d'attente audio que j'ai jouer, arrêt, pause correctement mais je trouve la fonction AudioQueueStop () à prendre beaucoup de temps à exécuter.

Je voudrais arrêter immédiatement puis reprendre la lecture d'une file d'attente audio et je me demandais ce que le moyen le plus rapide de le faire serait.

Dans mon projet, j'ai plusieurs files d'attente audio que je garde autour de jouer des sons spécifiques à plusieurs reprises. Il y a une situation où je dois arrêter certains de ces sons, puis les jouer immédiatement et beaucoup d'autres à la fois. Il est pas si mal s'il y a seulement quelques files d'attente audio que je fais cela, mais il commence à prendre beaucoup de temps s'il y a beaucoup que je dois arrêter et redémarrer.

Je pourrais faux en appelant arrêt sur une file d'attente audio et puis en créant une nouvelle avec le même son, mais je me demandais s'il y avait une meilleure façon de le faire.

Était-ce utile?

La solution

AudioQueue peut être salissant pour ce genre de choses. Il est difficile d'arrêter la file d'attente mi-tampon, et cela signifie que le tampon courant continuera à jouer. De plus, vous devez faire face à des problèmes de latence.

Pour réaliser un arrêt rapide et la lecture avec une faible latence, je vous conseille de l'aide de la RemoteIO AudioUnit.

Vous trouverez ici un grand tutoriel avec le code:

Utiliser l'unité audio RemoteIO

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