2011-01-05 5 views
3

재생 중이며 멈추고 올바르게 일시 중지 된 오디오 대기열이 있지만 AudioQueueStop() 함수를 실행하는 데 오랜 시간이 걸리는 것으로 나타났습니다.AudioQueue 중지 및 신속 재생

나는 즉시 멈추고 오디오 큐를 다시 시작하고 싶습니다. 그렇게 할 수있는 가장 빠른 방법이 무엇인지 궁금합니다.

내 프로젝트에는 여러 개의 오디오 대기열이있어 특정 사운드를 반복 재생합니다. 그 소리의 일부를 멈추고 곧바로 연주해야하는 상황이 있습니다. 이 작업을 수행하는 오디오 대기열이 두 개 밖에 없더라도 중지하고 다시 시작해야하는 많은 경우 오랜 시간이 걸리기 시작합니다.

오디오 대기열에서 stop을 호출 한 다음 동일한 사운드를 사용하여 새 것을 만드는 방법으로 위장 할 수 있지만 더 좋은 방법이 있는지 궁금해하고 있습니다.

답변

2

AudioQueue은 이런 종류의 것들에 지저분 할 수 있습니다. 대기열 중간 버퍼를 중지하는 것은 어렵습니다. 즉 현재 버퍼가 계속 재생됨을 의미합니다. 또한 대기 시간 문제를 처리해야합니다.

빠른 대기 시간과 짧은 지연 시간으로 재생하려면 RemoteIO AudioUnit을 사용하는 것이 좋습니다.

Using RemoteIO audio unit

:

현재 코드에 좋은 자습서를 찾을 수 있습니다