2011-04-13 3 views
0

내 iPhone/iPad 응용 프로그램에서 압축 된 사운드 파일의 압축을 풀고 싶습니다. 내 응용 프로그램에서 .m4a 파일을 .wav 형식으로 변환하고 싶습니다. 코드를 통해 어떻게 가능합니까?압축 된 사운드 파일을 압축되지 않은 파일로 변환하는 방법

+0

당신이 _format_ 변환 의미합니까 더 광범위한 샘플 코드가? 무언가가 압축되면 샘플링 된 사운드의 품질/해상도를 높일 수 없습니다. – Widor

+0

예, 실제로 압축 된 파일의 파형을 알고 싶습니다. – iPhoneDev

답변

0

당신은이 작업을 수행 할 ExtAudioFile를 사용할 수 있습니다

CFURLRef url = /* ... */; 
ExtAudioFileRef eaf; 
OSStatus err = ExtAudioFileOpenURL((CFURLRef)url, &eaf); 
if(noErr != err) 
    /* handle error */ 

AudioStreamBasicDescription format; 
format.mSampleRate = 44100; 
format.mFormatID = kAudioFormatLinearPCM; 
format.mFormatFlags = kAudioFormatFormatFlagIsPacked; 
format.mBitsPerChannel = 16; 
format.mChannelsPerFrame = 2; 
format.mBytesPerFrame = format.mChannelsPerFrame * 2; 
format.mFramesPerPacket = 1; 
format.mBytesPerPacket = format.mFramesPerPacket * format.mBytesPerFrame; 

err = ExtAudioFileSetProperty(eaf, kExtAudioFileProperty_ClientDataFormat, sizeof(format), &format); 

/* Read the file contents */ 

은 분명히 난 그냥 임의적으로 검색 할 수있는 형식으로 16 비트 정수 스테레오를 선택했지만 잘하면 아이디어는 분명하다. ExtAudioFile에 오디오 데이터를 원하는 형식을 지정하면 파일 형식에서 요청 된 (클라이언트) 형식으로 자동 변환됩니다.

애플은 http://developer.apple.com/library/mac/#samplecode/ConvertFile/Introduction/Intro.html

+0

위의 정확한 코드를 시도해 보면 (포맷 플래그에서 더듬기를 수정 한 후) "fmt?" 오류. 어떤 문제가 어떤 문제 일 수 있습니까? –

관련 문제