2012-12-22 3 views
1

오디오 파일 'coolsound.aif'가 주어지면 사운드 데이터 청크 (SSND 청크)를 가져 와서 임의의 처리를 반복하는 작업에 어떻게 접근 할 수 있습니까? 나는 다음과 같은 일을 달성 할 수 있도록 노력하겠습니다 :iOS의 사운드 데이터 청크를 검색하고 반복하는 방법은 무엇입니까?

/* 
* Pseudocode of what I'd like to do 
*/ 

// get SSND chunks out of audio file somehow 
Array soundDatachunks = getSSNDChunksFromSoundFile("coolsound.aif"); 

// iterate over each chunk 
foreach(soundDataChunks as chunk){ 

    // Now iterate over each element in the waveForm data array 
    foreach(chunk.waveForm as w){ 
     //Just log it to debug console for now 
     Log(w); 
    } 
} 

기타 정보 :
- 내 목표는 그래픽으로 오디오 파일을 시각화하기 위해 파형 데이터를 사용하는 것입니다.
- AudioToolbox in this manner을 사용하여 오디오 파일을 녹음했습니다.

typedef struct { 
     ID    chunkID; 
     long   chunkSize; 
     unsigned long offset; 
     unsigned long blockSize; 
     unsigned char WaveformData[]; 
    } SoundDataChunk; 
+0

체크 아웃 [오디오 변환기 서비스]에 대한 설명서 (http://developer.apple.com/library/ios/#documentation/MusicAudio/Reference/AudioConverterServicesReference/Reference/reference.html#//apple_ref/doc/uid/TP40007943). – Anurag

답변

0


이 몇 가지 API를 사용할 수있어이 있고 모두가 당신이 원하는 얼마나 제어에 따라, 그리고 당신이 일을 어떤 계획 : -
source에 나타나는 SSND 청크는 구조를 가지고 오디오 데이터 ExtendedAudioFile API는 오디오 데이터 가져 오기 및 그리기와 같은 기본 작업을 위해 만들어졌습니다.

AudioStreamBasicDescription 객체를 만들고 바로 설정해야하는 것처럼 코드를 작성하는 것처럼 보일 수도 있지만 전체 오디오 파일을 매우 빠르게 읽고 모든 샘플을 그리기 위해 사용할 수 있습니다 .

GW