Synchronize Android:AudioRecord iOS:AudioStreamBasicDescription
lastmod 2018-08-17created 2014-06-053 edits
Explains how to synchronize the formats of Android AudioRecord and iOS AudioStreamBasicDescription.
PCM Format Sample
Android AudioRecord setup:
int bufferSize = AudioRecord.getMinBufferSize(8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
AudioRecord record = new AudioRecord(MediaRecorder.AudioSource.MIC, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSize);
iOS AudioStreamBasicDescription setup:
AudioStreamBasicDescription asbd;
asbd.mSampleRate = 8000;
asbd.mChannelsPerFrame = 1;
asbd.mFormatID = kAudioFormatLinearPCM;
asbd.mFormatFlags = kLinearPCMFormatFlagIsSignedInteger | kLinearPCMFormatFlagIsPacked;
asbd.mBitsPerChannel = 16;
asbd.mBytesPerPacket = asbd.mBytesPerFrame = (asbd.mBitsPerChannel / 8) * asbd.mChannelsPerFrame;
asbd.mFramesPerPacket = 1;
asbd.mReserved = 0;