2009-12-27 2 views

ответ

3

Да. Самый простой способ сделать это - использовать API ExtAudioFile. В примере примера Apple ConvertFile есть отличный пример. Посмотрите UseExtAF.cpp.

Для частоты дискретизации 44,1 кГц, AudioStreamBasicDescription для 32-битной точки LPCM плавающей будет выглядеть следующим образом:

AudioStreamBasicDescription fmt; 
fmt.mSampleRate = 44100; 
fmt.mFormatID = kAudioFormatLinearPCM; 
fmt.mFormatFlags = kLinearPCMFormatFlagIsFloat; 
fmt.mBitsPerChannel = sizeof(Float32) * 8; 
fmt.mChannelsPerFrame = 1; // set this to 2 for stereo 
fmt.mBytesPerFrame = fmt.mChannelsPerFrame * sizeof(Float32); 
fmt.mFramesPerPacket = 1; 
fmt.mBytesPerPacket = fmt.mFramesPerPacket * fmt.mBytesPerFrame;