[英]How to set bit-rate in AQRecorder
我正在嘗試優化語音郵件質量,但我不知道音頻。 我的問題是,如何在AQRecord中設置比特率?
這是我的代碼:
void AQRecorder::SetupAudioFormat(UInt32 inFormatID){
memset(&mRecordFormat, 0, sizeof(mRecordFormat));
mRecordFormat.mFormatID = inFormatID;
if (inFormatID == kAudioFormatLinearPCM)
{
// if we want pcm, default to signed 16-bit little-endian
mRecordFormat.mSampleRate = 8000.0; // amr 8khz
mRecordFormat.mFormatFlags = kLinearPCMFormatFlagIsSignedInteger | kLinearPCMFormatFlagIsPacked;
mRecordFormat.mBitsPerChannel = 16;
mRecordFormat.mChannelsPerFrame = 1;
mRecordFormat.mFramesPerPacket = 1;
mRecordFormat.mBytesPerFrame = (mRecordFormat.mBitsPerChannel/8) * mRecordFormat.mChannelsPerFrame;
mRecordFormat.mBytesPerPacket = mRecordFormat.mBytesPerFrame ;
}
}
您的比特率目前設置為128kbps。
對於線性PCM,比特率計算為sampleRate * bitDepth * numChannels。 在您的情況下,這是8000 * 16 * 1或128000。
編輯:PCM已經處於“最佳”質量。 在8kHz的采樣率下,您可以略微削減人聲頻率范圍。 16kHz覆蓋的聲音范圍優於8kHz采樣。 語音不需要超出該采樣率的任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.