2010-06-30 5 views
2

내가해야 할 일은 라이브 소스가 아닌, 앱 번들의 미리 녹음 된 오디오 파일 인 4 채널의 오디오를 믹스하고 실시간으로 개별적으로 볼륨을 변경할 수 있습니다. MP3. iPhone을위한 다양한 사운드 API와 관련하여 내가 취할 수있는 최선의 길은 무엇입니까?iPhone SDK 오디오 믹서

감사합니다.

답변

1

Storm Sim은 AVAudioPlayer를 사용하여이 작업을 수행합니다. AVAudioPlayer는 확실히 가장 단순한 메드입니다. 플레이어 객체 각각에 대해 prepareToPlay를 호출 한 다음 나중에 재생할 때 지연을 두지 않을 수 있습니다. 또한 영원한 루프에서 빈 1 초 오디오 플레이어를 사용하여 deviceTime 카운트 다운을 유지하므로 나중에 모든 샘플을 동기화하거나 서로 오프셋하여 재생하도록 특정 deviceTime을 제공하기 위해 playAfter를 사용할 수 있습니다 (deviceTime 일종의 오디오 재생이있는 경우에만 틱합니다). AVAudioPlayerDelegate는 이벤트를 중단/재개하고 finishedPlaying을 통해 상황에 대한 알림을받을 수 있습니다.

그러나 하드웨어 MP3/AAC 디코더가 하나 밖에 없으므로 다른 세 사람은 CPU (따라서 배터리)를 사용하여 디코딩을 수행합니다. 배터리 수명을 최대화하려면 IMA4 @ 44100의 CAF 파일을 사용하십시오. 그것은 원시 WAV 파일의 크기가 약 1/4이므로 MP3처럼 좋지는 않지만 성능이 훨씬 뛰어납니다. 특히 작은 오디오 트랙을 많이 사용하는 경우 특히 좋습니다. 목소리를 사용하는 경우 충실도를 줄이고 파일을 훨씬 더 많이 부숴 버릴 수 있습니다. 터미널에서 afconvert는 CAF 형식으로 소스 파일을 가져 오는 것을 도울 수 있습니다 (인코딩에 관계없이 CAF 파일을 사용해야합니다).

관련 문제