真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android音頻開發(fā)(1):基礎知識-創(chuàng)新互聯(lián)

先來點閑言碎語,前段時間我有一段感悟:Android開發(fā),本身并不是一個可以走得多遠的方向,它只是一個平臺,提供了許多封裝好的API,讓大家能夠快速開發(fā)出針對特定業(yè)務的應用。

創(chuàng)新互聯(lián)公司擁有10多年的建站服務經(jīng)驗,在此期間,我們發(fā)現(xiàn)較多的客戶在挑選建站服務商前都非常的猶豫。主要問題集中:在無法預知自己的網(wǎng)站呈現(xiàn)的效果是什么樣的?也無法判斷選擇的服務商設計出來的網(wǎng)頁效果自己是否會滿意?創(chuàng)新互聯(lián)公司業(yè)務涵蓋了互聯(lián)網(wǎng)平臺網(wǎng)站建設、移動平臺網(wǎng)站制作、網(wǎng)絡推廣、按需網(wǎng)站建設等服務。創(chuàng)新互聯(lián)公司網(wǎng)站開發(fā)公司本著不拘一格的網(wǎng)站視覺設計和網(wǎng)站開發(fā)技術相結合,為企業(yè)做網(wǎng)站提供成熟的網(wǎng)站設計方案。

真正有價值的地方就在于Android與具體的業(yè)務方向結合,比如:Android與音視頻技術,Android與智能硬件交互,Android與前端技術的融合與探索,Android信息安全,Android源碼深度定制等等。

我一直比較看好音視頻/多媒體方向,希望在此能夠深入積累和探索,前段時間我發(fā)布了一款Android VoIP網(wǎng)絡電話應用“飛鴿電話”,并寫了一篇分析其整體架構的文章《PigeonCall:一款Android VoIP網(wǎng)絡電話App架構分析》,歡迎有興趣的小伙伴們先看一看。

在這個應用的開發(fā)過程中學到的東西還蠻多的,因此想寫一些文章分享分享,本文作為開篇,主要以問答的形式,介紹一些音頻開發(fā)的基礎常識,非常重要,因為不了解這些常識,很多Android API或者第三方庫的參數(shù),你都不知道該怎么配置。

1. 音頻開發(fā)的主要應用有哪些?

音頻播放器,錄音機,語音電話,音視頻監(jiān)控應用,音視頻直播應用,音頻編輯/處理軟件,藍牙耳機/音箱,等等。

2. 音頻開發(fā)的具體內(nèi)容有哪些?

(1)音頻采集/播放

(2)音頻算法處理(去噪、靜音檢測、回聲消除、音效處理、功放/增強、混音/分離,等等)

(3)音頻的編解碼和格式轉換

(4)音頻傳輸協(xié)議的開發(fā)(SIP,A2DP、AVRCP,等等)

3. 音頻應用的難點在哪?

延時敏感、卡頓敏感、噪聲抑制(Denoise)、回聲消除(AEC)、靜音檢測(VAD)、混音算法,等等。

4. 音頻開發(fā)基礎概念有哪些?

在音頻開發(fā)中,下面的這幾個概念經(jīng)常會遇到。

(1) 采樣率(samplerate)

采樣就是把模擬信號數(shù)字化的過程,不僅僅是音頻需要采樣,所有的模擬信號都需要通過采樣轉換為可以用0101來表示的數(shù)字信號,示意圖如下所示:

Android音頻開發(fā)(1):基礎知識

藍色代表模擬音頻信號,紅色的點代表采樣得到的量化數(shù)值。

采樣頻率越高,紅色的間隔就越密集,記錄這一段音頻信號所用的數(shù)據(jù)量就越大,同時音頻質量也就越高。

根據(jù)奈奎斯特理論,采樣頻率只要不低于音頻信號最高頻率的兩倍,就可以無損失地還原原始的聲音。

通常人耳能聽到頻率范圍大約在20Hz~20kHz之間的聲音,為了保證聲音不失真,采樣頻率應在40kHz以上。常用的音頻采樣頻率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。

(2) 量化精度(位寬)

上圖中,每一個紅色的采樣點,都需要用一個數(shù)值來表示大小,這個數(shù)值的數(shù)據(jù)類型大小可以是:4bit、8bit、16bit、32bit等等,位數(shù)越多,表示得就越精細,聲音質量自然就越好,當然,數(shù)據(jù)量也會成倍增大。

常見的位寬是:8bit 或者 16bit

(3) 聲道數(shù)(channels)

由于音頻的采集和播放是可以疊加的,因此,可以同時從多個音頻源采集聲音,并分別輸出到不同的揚聲器,故聲道數(shù)一般表示聲音錄制時的音源數(shù)量或回放時相應的揚聲器數(shù)量。

單聲道(Mono)和雙聲道(Stereo)比較常見,顧名思義,前者的聲道數(shù)為1,后者為2

(4) 音頻幀(frame)

這個概念在應用開發(fā)中非常重要,網(wǎng)上很多文章都沒有專門介紹這個概念。

音頻跟視頻很不一樣,視頻每一幀就是一張圖像,而從上面的正玄波可以看出,音頻數(shù)據(jù)是流式的,本身沒有明確的一幀幀的概念,在實際的應用中,為了音頻算法處理/傳輸?shù)姆奖悖话慵s定俗成取2.5ms~60ms為單位的數(shù)據(jù)量為一幀音頻。

這個時間被稱之為“采樣時間”,其長度沒有特別的標準,它是根據(jù)編×××和具體應用的需求來決定的,我們可以計算一下一幀音頻幀的大?。?/p>

假設某通道的音頻信號是采樣率為8kHz,位寬為16bit,20ms一幀,雙通道,則一幀音頻數(shù)據(jù)的大小為:

int size = 8000 x 16bit x 0.02s  x 2 = 5120 bit = 640 byte

5. 常見的音頻編碼方式有哪些?

上面提到過,模擬的音頻信號轉換為數(shù)字信號需要經(jīng)過采樣和量化,量化的過程被稱之為編碼,根據(jù)不同的量化策略,產(chǎn)生了許多不同的編碼方式,常見的編碼方式有:PCM 和 ADPCM,這些數(shù)據(jù)代表著無損的原始數(shù)字音頻信號,添加一些文件頭信息,就可以存儲為WAV文件了,它是一種由微軟和IBM聯(lián)合開發(fā)的用于音頻數(shù)字存儲的標準,可以很容易地被解析和播放。

我們在音頻開發(fā)過程中,會經(jīng)常涉及到WAV文件的讀寫,以驗證采集、傳輸、接收的音頻數(shù)據(jù)的正確性。

6. 常見的音頻壓縮格式有哪些?

首先簡單介紹一下音頻數(shù)據(jù)壓縮的最基本的原理:因為有冗余信息,所以可以壓縮。

(1) 頻譜掩蔽效應: 人耳所能察覺的聲音信號的頻率范圍為20Hz~20KHz,在這個頻率范圍以外的音頻信號屬于冗余信號。

(2) 時域掩蔽效應: 當強音信號和弱音信號同時出現(xiàn)時,弱信號會聽不到,因此,弱音信號也屬于冗余信號。

下面簡單列出常見的音頻壓縮格式:

MP3,AAC,OGG,WMA,Opus,F(xiàn)LAC,APE,m4a,AMR,等等

7. Adndroid VoIP相關的開源應用有哪些 ?

imsdroid,sipdroid,csipsimple,linphone,WebRTC 等等

8. 音頻算法處理的開源庫有哪些 ?

speex、ffmpeg,webrtc audio module(NS、VAD、AECM、AGC),等等

10. Android提供了哪些音頻開發(fā)相關的API?

音頻采集:  MediaRecoder,AudioRecord

音頻播放:  SoundPool,MediaPlayer,AudioTrack (它們之間的區(qū)別可以參考這篇文章)

音頻編解碼: MediaCodec

NDK API:   OpenSL ES

11. 音頻開發(fā)的延時標準是什么?

ITU-TG.114規(guī)定,對于高質量語音可接受的時延是300ms。一般來說,如果時延在300~400ms,通話的交互性比較差,但還可以接受。時延大于400ms時,則交互通信非常困難。

12. 小結

音頻開發(fā)的知識點其實挺多的,一篇文章也無法詳細地展開敘述,因此,不夠全面和詳盡的地方,請大家搜索專業(yè)的資料進行深入了解。文章中有不清楚的地方歡迎留言或者來信 lujun.hust@gmail.com 交流,或者關注我的新浪微博 @盧_俊 或者 微信公眾號 @Jhuster 獲取最新的文章和資訊。

Android音頻開發(fā)(1):基礎知識

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


文章標題:Android音頻開發(fā)(1):基礎知識-創(chuàng)新互聯(lián)
本文路徑:http://weahome.cn/article/ehsio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部