Вопрос

У меня есть аудио очередь, которую я играл, остановившись, приостановившись правильно, но я нахожу функцию AudioqueEuestop (), чтобы занять много времени для выполнения.

Я хотел бы немедленно остановиться, а затем перезапустить играть аудио очередь и был заданным вопросом, какой бы самый быстрый способ сделать это.

В моем проекте у меня есть несколько аудио очередей, которые я держусь, чтобы играть конкретные звуки снова и снова. Есть ситуация, когда я должен остановить некоторые из этих звуков, а затем немедленно играют их и многое другое сразу. Это не так плохо, если есть только пара аудио очередей, которые я делаю это, но он начинает долгое время, если есть много, что мне нужно остановить и перезапустить.

Я мог бы подделать это, позвонив на остановку в аудио очереди, а затем создавая новый с тем же звуком, но было заданным вопросом, был ли лучший способ сделать это.

Это было полезно?

Решение

AudioQueue Может быть грязным для такого рода вещей. Трудно остановить в среднем буфере очереди, и это означает, что текущий буфер будет продолжать играть. Кроме того, вы должны иметь дело с проблемами задержки.

Для быстрой остановки и воспроизведения с низкой задержкой, я бы посоветовал использовать audiounit audiounit.

Вы можете найти отличный учебник с кодом здесь:

Использование Retource Audio Unit

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top