bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

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

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

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供金州企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都做網(wǎng)站、HTML5、小程序制作等業(yè)務(wù)。10年已為金州眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。

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

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

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

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

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

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

(1)音頻采集/播放

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

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

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

3. 音頻應(yīng)用的難點在哪?

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

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

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

(1) 采樣率(samplerate)

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

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

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

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

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

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

(2) 量化精度(位寬)

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

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

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

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

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

(4) 音頻幀(frame)

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

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

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

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

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

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

上面提到過,模擬的音頻信號轉(zhuǎn)換為數(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) 頻譜掩蔽效應(yīng): 人耳所能察覺的聲音信號的頻率范圍為20Hz~20KHz,在這個頻率范圍以外的音頻信號屬于冗余信號。

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

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

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

7. Adndroid VoIP相關(guān)的開源應(yīng)用有哪些 ?

imsdroid,sipdroid,csipsimple,linphone,WebRTC 等等

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

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

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

音頻采集:  MediaRecoder,AudioRecord

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

音頻編解碼: MediaCodec

NDK API:     OpenSL ES

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

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

12. 小結(jié)

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

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

文章標題:Android音頻開發(fā)(1):基礎(chǔ)知識
文章位置:http://vcdvsql.cn/article26/jhjicg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機外貿(mào)建站品牌網(wǎng)站制作ChatGPT搜索引擎優(yōu)化網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)