音頻轉碼

音頻這塊涉及面廣,細節(jié)也挺多,以下為針對音頻轉碼部分

一、介紹幾種壓縮編碼格式

01、WAV編碼

WAV編碼的一種實現(xiàn)就是在PCM數(shù)據(jù)格式的前面加上44字節(jié),分別用來描述PCM的采樣率、聲道率、數(shù)據(jù)格式等信息。

特點:音質(zhì)非常好,大量軟件都支持。

使用場合:多媒體開發(fā)的中間文件、保存音樂和音效素材。

02、MP3編碼

MP3具有不錯的壓縮比,使用LAME編碼(MP3編碼格式的一種實現(xiàn))的中高碼率的MP3文件,聽感非常接近WAV,當然在不同的應用場景下,應該調(diào)整合適的參數(shù)以達到最好的效果。特點:音質(zhì)在128Kbit/s已上表現(xiàn)不錯,壓縮比比較高,大量軟件和硬件都支持,兼容性好。

03、AAC編碼

是一種專為聲音數(shù)據(jù)設計的文件壓縮格式。與MP3不同,它采用了全新的算法進行編碼,更加高效,具有更高的“性價比”。利用AAC格式,可使人感覺聲音質(zhì)量沒有明顯降低的前提下,更加小巧。蘋果ipod、諾基亞手機支持AAC格式的音頻文件。

特點:在小于128kBIT/s一下的音頻編碼,多用于視頻中音軌的編碼。

04、OGG編碼

Ogg是一種非常有潛力的編碼,在各種碼率下都有比較優(yōu)秀的表現(xiàn),尤其在中低碼率場景下。Ogg除了音質(zhì)很好,還是完全免費的。ogg有著出色的算法,可以用更小的碼率達到更好的音質(zhì)。Ogg目前支持的情況還不夠好,無論軟件還是硬件,都無法和MP3相提并論。

特點:可以用比MP3更小的碼率實現(xiàn)比MP3更好的音質(zhì),高中低碼率下均有良好的表現(xiàn),兼容性不夠好,流媒體特性不支持。

使用場合:語音聊天的音頻消息場景

二、iOS音頻處理各個框架

AVAudioPlayer

基本操作:播放、暫停、停止、循環(huán)等等一些基本的音頻播放功能。

控制:可對音頻進行任意時間位置播放;進度控制。

其它:*從文件或緩沖區(qū)播放聲音;獲取音視頻關鍵參數(shù),如音頻標題、作者、功率等等。


三、錄音設置

//錄音設置

? ? NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc]init];

? ? //設置錄音格式? AVFormatIDKey==kAudioFormatLinearPCM

? ? [recordSetting setValue:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];

? ? //設置錄音采樣率(Hz) 如:AVSampleRateKey==8000/44100/96000(影響音頻的質(zhì)量)

? ? [recordSetting setValue:[NSNumber numberWithFloat:44100] forKey:AVSampleRateKey];

? ? //錄音通道數(shù)? 1 或 2

? ? [recordSetting setValue:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];

? ? //線性采樣位數(shù)? 8、16、24、32

? ? [recordSetting setValue:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];

? ? //錄音的質(zhì)量

? ? [recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityHigh] forKey:AVEncoderAudioQualityKey];

注意:如果WAV轉MP3通道數(shù)目需設置為2,否則轉碼后聲音不對(音色、音質(zhì)都會變質(zhì)),錄音的采樣率和轉碼的采樣率需保持一致,AVNumberOfChannelsKey設置為2時,文件同時會增加一倍;如果設置默認為MP3則會失敗。

??

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容