2011-05-12 3 views
0

Xcode 3.2.5에서 하나의 UIButton에서 여러 개의 오디오 파일을 차례로 (50 개 이상) 재생하고 싶습니다. 몇 가지 코드를 시도했지만 메모리가 누수됩니다. 어떤 제안? 나는 여전히 배우기 때문에 머리말과 함축 파일 코드를 포함시켜주십시오. 미리 감사드립니다.Xcode : 여러 개의 오디오 파일, 단일 버튼

답변

1

Audio Queue Services (AudioToolbox/AudioQueue.h)의 인터페이스를 사용하십시오. 재생할 각 사운드에 대해 하나의 오디오 큐 객체를 만듭니다. 그런 다음 AudioQueueEnqueueBufferWithParameters 함수를 사용하여 각 오디오 대기열의 첫 번째 오디오 버퍼에 대한 동시 시작 시간을 지정합니다.

AAC, MP3 및 ALAC (애플 무손실) 오디오 : 당신은 재생할 수있는 다중 AAC, MP3 및 ALAC 형식 소리

다음과 같은 제한 사항

오디오 데이터 형식에 따라 아이폰 OS에서 동시에 사운드를 관련된 동시에; 이러한 형식의 여러 사운드를 재생하려면 디코딩을 위해 CPU 리소스가 필요합니다. 선형 PCM 및 IMA/ADPCM (IMA4 오디오) : CPU 리소스 문제없이 여러 선형 PCM 또는 IMA4 형식 사운드를 동시에 재생할 수 있습니다.
play multiple sounds simultaneously

+0

고마워요.하지만 그건 제가 염두에 두었던 것이 아닙니다. 하나의 버튼을 눌러 일련의 소리를 재생하고 싶습니다. – Mark

0

이의 (a) (b)는 함수를 작성 후, 적절한 순서로, (이 런타임 중에 할 수 있습니다) 재생하려는 사운드 이름의 배열을 만드는 방법에 대해 무엇을 단지 개념이지만,에서 촬영 여기서 각 soundHandler 유형 객체는 배열에있는 위치를 확인합니다. 마지막이 아닌 경우 soundPlayer를 구성하고 사운드를로드하고 재생 한 다음 배열의 다음 soundHandler를 호출합니다. (마지막으로 방금 생성 /로드/재생하고, 부모에게 이미 완료되었음을 알립니다.) 각 soundHandler (필자가 작성한 것입니다. 작성해야합니다)가 완료되면 자체적으로 dealloc을 수행 할 수 있습니다.

지연 /로드 문제가 발생하는 경우 항상 배열에서 각 soundHandler가 n + 2를 호출 할 수 있으며, 물론 끝에서 두 번째 음절인지 확인할 수 있습니다.

더 많은 것을 염두에 두었습니까?

관련 문제