2016-05-31 69 views
1

我正在嘗試優化語音郵件質量,但我不知道音頻。我的問題是,如何在AQRecord中設置比特率?如何在AQRecorder中設置比特率

這裏是我的代碼:

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 ; 
} 

}

回答

0

你的比特率當前設置爲128kbps的。

對於線性PCM,比特率計算爲sampleRate * bitDepth * numChannels。在你的情況下,這是8000 * 16 * 1或128000.

編輯:PCM已經處於「最佳」質量。在8kHz採樣速率下,您可以略微剪輯人聲頻率範圍。 16kHz覆蓋了比8kHz採樣更好的聲音範圍。超出採樣率的任何內容對於演講都是不必要的。

+0

如果我想讓語音信息質量更好,我該怎麼辦?將sampleRate設置爲16000或44100? –

+0

@ Antony.zhu:更新了我的回答。 – Goz

+0

非常感謝您的回答! –

相關問題