音頻這塊涉及面廣,細(xì)節(jié)也挺多,以下為針對音頻轉(zhuǎn)碼部分
一玷氏、介紹幾種壓縮編碼格式
01、WAV編碼
WAV編碼的一種實(shí)現(xiàn)就是在PCM數(shù)據(jù)格式的前面加上44字節(jié)腋舌,分別用來描述PCM的采樣率盏触、聲道率、數(shù)據(jù)格式等信息块饺。
特點(diǎn):音質(zhì)非常好赞辩,大量軟件都支持。
使用場合:多媒體開發(fā)的中間文件授艰、保存音樂和音效素材辨嗽。
02、MP3編碼
MP3具有不錯(cuò)的壓縮比淮腾,使用LAME編碼(MP3編碼格式的一種實(shí)現(xiàn))的中高碼率的MP3文件糟需,聽感非常接近WAV,當(dāng)然在不同的應(yīng)用場景下谷朝,應(yīng)該調(diào)整合適的參數(shù)以達(dá)到最好的效果洲押。特點(diǎn):音質(zhì)在128Kbit/s已上表現(xiàn)不錯(cuò),壓縮比比較高圆凰,大量軟件和硬件都支持杈帐,兼容性好。
03、AAC編碼
是一種專為聲音數(shù)據(jù)設(shè)計(jì)的文件壓縮格式挑童。與MP3不同累铅,它采用了全新的算法進(jìn)行編碼,更加高效站叼,具有更高的“性價(jià)比”争群。利用AAC格式,可使人感覺聲音質(zhì)量沒有明顯降低的前提下大年,更加小巧。蘋果ipod玉雾、諾基亞手機(jī)支持AAC格式的音頻文件翔试。
特點(diǎn):在小于128kBIT/s一下的音頻編碼,多用于視頻中音軌的編碼复旬。
04垦缅、OGG編碼
Ogg是一種非常有潛力的編碼,在各種碼率下都有比較優(yōu)秀的表現(xiàn)驹碍,尤其在中低碼率場景下壁涎。Ogg除了音質(zhì)很好,還是完全免費(fèi)的志秃。ogg有著出色的算法怔球,可以用更小的碼率達(dá)到更好的音質(zhì)。Ogg目前支持的情況還不夠好浮还,無論軟件還是硬件竟坛,都無法和MP3相提并論。
特點(diǎn):可以用比MP3更小的碼率實(shí)現(xiàn)比MP3更好的音質(zhì)钧舌,高中低碼率下均有良好的表現(xiàn)担汤,兼容性不夠好,流媒體特性不支持洼冻。
使用場合:語音聊天的音頻消息場景
二崭歧、iOS音頻處理各個(gè)框架
AVAudioPlayer
基本操作:播放、暫停撞牢、停止率碾、循環(huán)等等一些基本的音頻播放功能。
控制:可對音頻進(jìn)行任意時(shí)間位置播放屋彪;進(jìn)度控制播掷。
其它:*從文件或緩沖區(qū)播放聲音;獲取音視頻關(guān)鍵參數(shù)撼班,如音頻標(biāo)題歧匈、作者、功率等等砰嘁。
三件炉、錄音設(shè)置
//錄音設(shè)置
? ? NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc]init];
? ? //設(shè)置錄音格式? AVFormatIDKey==kAudioFormatLinearPCM
? ? [recordSetting setValue:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
? ? //設(shè)置錄音采樣率(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轉(zhuǎn)MP3通道數(shù)目需設(shè)置為2口糕,否則轉(zhuǎn)碼后聲音不對(音色、音質(zhì)都會變質(zhì))磕蛇,錄音的采樣率和轉(zhuǎn)碼的采樣率需保持一致景描,AVNumberOfChannelsKey設(shè)置為2時(shí),文件同時(shí)會增加一倍秀撇;如果設(shè)置默認(rèn)為MP3則會失敗超棺。
??