2011-01-05 8 views
3

Ich habe eine Audio-Queue, die ich gespielt habe, angehalten, richtig pausiert, aber ich finde die AudioQueueStop() - Funktion lange Zeit zur Ausführung.Stoppen und schnelle Wiedergabe einer AudioQueue

Ich möchte sofort stoppen und dann wieder eine Audio-Warteschlange spielen und fragte mich, wie der schnellste Weg dazu wäre.

In meinem Projekt habe ich mehrere Audio-Warteschlangen, die ich immer und immer wieder bestimmte Sounds zu spielen. Es gibt eine Situation, in der ich einige dieser Geräusche stoppen muss und sie dann sofort und viel mehr auf einmal spielen muss. Es ist nicht so schlimm, wenn es nur ein paar Audio-Warteschlangen gibt, mit denen ich das mache, aber es dauert sehr lange, wenn es viele gibt, die ich anhalten und neu starten muss.

Ich könnte es fälschen, indem ich in einer Audio-Warteschlange stoppe und dann eine neue mit dem gleichen Sound erstelle, aber ich frage mich, ob es einen besseren Weg dafür gibt.

Antwort

2

AudioQueue kann für diese Art von Sachen chaotisch sein. Es ist schwierig, den mittleren Puffer der Warteschlange zu stoppen, und das bedeutet, dass der aktuelle Puffer weiter abgespielt wird. Außerdem müssen Sie mit Latenzproblemen umgehen.

Für schnelles Stoppen und Abspielen mit geringer Latenz empfehle ich die Verwendung der RemoteIO AudioUnit.

Sie können ein großes Tutorial mit Code finden Sie hier:

Using RemoteIO audio unit

Verwandte Themen