如何讓安卓輸出96khz音頻
① 安卓音頻輸出規格最高支持多少khz
安卓是基於Linux內核開發的系統,Linux使用是ALSA作為其音頻架構,其理論支持的采樣率是48khz。所以很多人都認為安卓系統的手機音質很差。但在手機或電腦中影響音頻輸出質量的不單是系統,最重要的是處理器和音效卡。
② 安卓手機如何用usb數據線輸出音頻到電腦
很遺憾地告訴你,在Android里,USB音頻輸出功能被限制了,比如VIVO,直接把這部分的底層代碼抽離,你如果想實現的話,只能求助於你的編程朋友或看看能不能找到相應的軟體(付費)。
③ 安卓系統為什麼音質不好
Android 基於Linux,我們先來了解一下Linux的特點。Linux使用ALSA作為其音頻架構,其全稱Advanced Linux Sound Architecture,即高級Linux聲音架構的意思,在2.6核心之後,ALSA成為了Linux系統默認的音頻子架構。取代了之前的OSS[Open Sound System,開放式聲音系統]。
ALSA並不太好理解,它首先是一個驅動庫,包含了大量的音效卡設備的開源驅動,並提供了核心層API與ALSA庫通信,而ALSA庫則是應用程序訪問和操控音頻硬體的中間層,這個中間層有標准介面,開發者可以無須考慮硬體差異性進行開發,它對提升開發效率是大有幫助的。ALSA可以向下兼容OSS,因為OSS已經被淘汰,其兼容的工作模式不再討論。
這個體系被繼承到了Android當中。在Android2.2[含2,2]之前,系統文件夾中能找到一個LibAudioALSA.so的文件,這就是ALSA庫文件,其他應用程序調用它,與音效卡設備進行指令和數據通信。Android音頻架構與Linux的並無本質區別。
在桌面版本的Linux當中,為了兼容各類音效卡,Linux也設置了一個SRC[Sample Rate Converter,采樣頻率轉換]的環節,當當前采樣率低於48kHz時強制SRC到48kHz輸出。這個SRC環節位於ALSA的插件模塊中的混音器部分。Android針對這個進行了改進。
什麼是SRC?SRC即Sample Rate Converter,中文意思為采樣頻率轉換。它被音效卡愛好者所關注,大部分發燒友視SRC為音質殺手。
Android增加了一個AudioFinger,這個可以簡單的理解為Android的ALSA音頻子系統的標准化的插件模塊,它包含了AudioMixer[混音器]、AudioResampler[重采樣]等子模塊,AudioResampler即我們理解的SRC,Android換了一個新名稱而已。針對SRC,Android做了改進,但改進並不是以去除SRC為目的,而是修改了默認的輸出頻率,Android的SRC目標采樣率為44.1kHz,非該值的采樣率都將SRC處理。例如播放48kHz采樣率的信號,輸出的最終是44.1kHz,這對音質將產生負面影響。
ALSA是一個針對Linux 桌面版本設計的音頻架構,它實際上是不適合智能終端設備的,起碼裡面大量的開源驅動代碼是可以去除的,對與Android來說,這些都是廢代碼。從Android2.3起,啟用了一個新的音頻架構。它放棄了一直使用的ALSA架構,因此系統文件夾中,也不再有LibAudioALSA.so這個文件。
Android2.3起,架構已經做了修改,在針對內部代碼進行了優化,去除了冗餘代碼,理論上讓系統能變得更加高效,可以將新架構理解為一個精簡的或者為智能終端設備定製的ALSA架構。遺憾的是,它同樣存在SRC嚴重劣化的問題,通過測試可以證明。
Android 3.0專門為平板電腦設計,影音體驗變得更加重要了,是不是新系統在音質方面會有新的的進步呢,測試結果依然是令人失望的。
Android系統將采樣率同一為44.1kHz輸出,這造成了諸多限制,它將無法實現96kHz、192kHz高清音頻節目的良好回放,大量視頻節目源自DVD或者藍光碟,其採用率多為48kHz,Android設備在回放這些視頻節目時,音質也將大打折扣。
理論上軟體SRC可以通過更換演算法來實現音質提升,但卻不太現實,智能終端所採用的CPU多為ARM,ARM晶元的浮點運算力有限,而SRC需要大量的浮點運算的資源,即便有了高質量的SRC演算法,其運算也是以犧牲設備性能和耗電量為代價的,實用性差。
從Android的音頻架構及流程分析,可以認為,播放44.1kHz采樣率的音樂節目時,不會引發SRC,音質因此可以獲得保證,理論上確實如此。但它同樣存在問題,不管是之前的ALSA架構還是Android2.3之後改良的架構,其驅動庫都位於核心層,也就意味著音頻設備廠商、用戶無法象PC平台那樣安裝驅動來改善音質。實際測試也表明,Android設備音質普遍偏差,Soomal有大量測試可以證明。
我們再把目光投向iOS,iOS非常封閉,我們甚至無法獲知其架構的具體構成,但iOS設備不存在硬體設備多樣性的問題,因此要實現更好音質也會更加簡單。iOS可以實現針對性的開發和改良,以實現更好的音質。實際情況也是如此,目前為止,還沒有一款Android設備的音質可以媲美任意一款iOS設備,這種差距,我們認為不是來自硬體,而是操作系統。
Android音頻架構的局限性也使得其難以成為優質的影音平台,如果你希望設計一款基於Android的高清影音播放器,那麼首先需要做的不是設計硬體,而是去修改現有架構的不足,或者乾脆設計一個專用的架構來取代Android的通用架構。從源代碼分析,Android和原生的Linux底層能支持各種采樣率,開源也使得其具有改造基礎,因此,在技術實力強勁的公司手裡,Android也可以烏雞變鳳凰。