オーディオの録音は次のように機能します。録音して録音することができます。奇妙なことは、完全には満たされていないバッファでコールバック関数が呼び出されることがあることだけです。 私はStreamCallback機能にinNumPackets
変数の値を記録している、と順序は次のようになります、iOSオーディオ録音コールバックでオーディオバッファがいっぱいになっていないのはなぜですか?
2048、2048、2048、2048、2048、2048、2048、2048、2048、2048、を2048、2048、2048、2048、2048、2048、2048、2048、2048、、2048年、2048年、
バッファを処理するコードは、現在、私はすべての時間Aの成果物を得ることを意味する、固定サイズに依存していますバッファは満たされません。
バッファをフルにするために何かできますか? - それとも期待される行動ですか?
私のコードからいくつかの抽出物:
DataFormat.mFormatID := kAudioFormatLinearPCM;
DataFormat.mSampleRate := 44100;
DataFormat.mChannelsPerFrame := 1;
DataFormat.mBitsPerChannel := 16;
DataFormat.mBytesPerPacket := 2;
DataFormat.mBytesPerFrame := 2;
DataFormat.mFramesPerPacket := 1;
DataFormat.mFormatFlags := kLinearPCMFormatFlagIsSignedInteger OR kLinearPCMFormatFlagIsPacked;
lStatus := AudioQueueNewInput(@DataFormat,@StreamCallback,nil,nil,kCFRunLoopCommonModes,0,fAqDataQueue);
...
//allocate 3 buffers with a buffer size of 2048 packets with 2 bytes per packet
AudioQueueAllocateBuffer(fAqDataQueue,2*2048,fAqDataBuffers[li]);