簡體   English   中英

如何在AQRecorder中設置比特率

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM