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