2013-07-10 3 views
0

전적으로 Apple AudioUnits - DLSSynth, Delay, Stereo Mixer로 구성된 AUGraph가 있습니다. 이 출력물을 ExtAudioFile에 캡처하려고합니다. 내 문제는 AudioUnit 형식에서 ExtAudioFile에서 사용할 수있는 파일 형식으로 변환해야한다고 생각합니다. 나는 AUGraph에서 ASBD을, 내가 얻을 ExtAudioFileWrite 용 AudioUnit 형식 변환

mSampleRate Float64 44100 
mFormatID UInt32 1819304813 
mFormatFlags UInt32 41 
mBytesPerPacket UInt32 4 
mFramesPerPacket UInt32 1 
mBytesPerFrame UInt32 4 
mChannelsPerFrame UInt32 2 
mBitsPerChannel UInt32 32 
mReserved UInt32 0 

그러나 나는 FMT를받지 않고 그 ASBD와 함께 ExtAudioFile를 만들 만들 수없는 이유는 무엇입니까? 오류. 누군가이 스트림을 파일에 기록 할 수있는 올바른 방향을 가리킬 수 있습니까?

+0

저는 거의 많은 AU를 사용하지 않았지만 일반적으로 오디오 파일에 ASBD를 지정할 필요가 없었습니다. 파일에 ASBD를 설정하지 않고 ExtAudioFileWriteAsync를 호출하면 어떻게됩니까? 어떤 종류의 오류가 발생합니까? 또한 어떤 데이터 및 파일 형식을 쓰려고합니까? – Nick

답변

1

ExtAudioFile의 클라이언트 형식 (kExtAudioFileProperty_ClientDataFormat)으로 ASBD를 사용하고 파일 생성 후 속성을 통해 설정하려고합니다. 이것은 ExtAudioFileWrite에 전달하는 데이터의 형식입니다. 출력 파일의 형식은 ExtAudioFileOpen에 지정됩니다.

+0

감사합니다. 나는 그것이 꽤 간단하다고 생각했다. – olynoise