當前位置:編程學習大全網 - 編程語言 - 音頻轉碼

音頻轉碼

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

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

01、WAV編碼

WAV編碼的壹種實現就是在PCM數據格式的前面加上44字節,分別用來描述PCM的采樣率、聲道率、數據格式等信息。

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

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

02、MP3編碼

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

03、AAC編碼

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

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

04、OGG編碼

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

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

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

二、iOS音頻處理各個框架

AVAudioPlayer

基本操作:播放、暫停、停止、循環等等壹些基本的音頻播放功能。

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

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

三、錄音設置

//錄音設置

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

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

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

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

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

//錄音通道數? 1 或 2

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

//線性采樣位數? 8、16、24、32

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

//錄音的質量

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

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

?

  • 上一篇:生活小常識
  • 下一篇:我在北侖想組裝壹臺3000左右的電腦 遊戲性能要好 能玩大型網絡遊戲的 給個配置單
  • copyright 2024編程學習大全網