亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        移動(dòng)操作系統(tǒng)音頻單元設(shè)計(jì)

        2017-03-06 17:33:36王佩光操李節(jié)
        計(jì)算機(jī)時(shí)代 2017年2期
        關(guān)鍵詞:音頻系統(tǒng)音量調(diào)用

        王佩光+操李節(jié)

        摘 要: 介紹一種移動(dòng)操作系統(tǒng)音頻模塊設(shè)計(jì)實(shí)現(xiàn)方法。該音頻模塊采用開(kāi)源項(xiàng)目PulseAudio作為音頻處理單元,用ALSA與底層硬件交互,由AudioManager提供API供上層應(yīng)用調(diào)用,實(shí)現(xiàn)操作系統(tǒng)的音頻通路切換與音量調(diào)節(jié)等功能。文章首先介紹音頻系統(tǒng)架構(gòu),然后從音頻控制單元AudioManager出發(fā),詳細(xì)介紹系統(tǒng)音頻分類(lèi)以及AudioManager提供給上層調(diào)用的方法,最后介紹音頻通路與音量調(diào)節(jié)的實(shí)現(xiàn)。

        關(guān)鍵詞: 移動(dòng)操作系統(tǒng); 音頻模塊; AudioManager; 通路切換; 音量調(diào)節(jié)

        中圖分類(lèi)號(hào):TP316 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)02-01-04

        0 引言

        音頻系統(tǒng)是移動(dòng)操作系統(tǒng)不可或缺的子系統(tǒng)之一,它負(fù)責(zé)處理所有與聲音相關(guān)的信息,隨著移動(dòng)操作系統(tǒng)功能設(shè)計(jì)的越來(lái)越全面和人性化,對(duì)音頻的精準(zhǔn)控制提出了更高的要求,例如不同情況下不同的輸出方式以及不同模式下的音量調(diào)節(jié)互不影響。這就對(duì)音頻系統(tǒng)的功能提出了更高的要求。android系統(tǒng)的音頻子系統(tǒng)是一款成熟的音頻系統(tǒng)[1-3],谷歌公司為它的音頻系統(tǒng)設(shè)計(jì)了一套全局音頻管理器——AudioFinger,并精簡(jiǎn)了ALSA來(lái)與硬件交互。本文所涉及的移動(dòng)操作系統(tǒng)采用開(kāi)源項(xiàng)目pulseaudio作為音頻處理單元,并采用ALSA與硬件交互[4-5]。

        PulseAudio[6]是一個(gè)跨平臺(tái)的,可通過(guò)網(wǎng)絡(luò)工作的聲音服務(wù),它的主要特點(diǎn)包括[7]:

        ⑴ 可對(duì)每一個(gè)應(yīng)用程序進(jìn)行音量控制;

        ⑵ 可擴(kuò)展的插件與支持可裝載模塊架構(gòu);

        ⑶ 兼容性許多流行的音頻應(yīng)用程序;

        ⑷ 支持多重音源和多重輸出;

        ⑸ 低延時(shí)操作和支持延遲測(cè)量;

        ⑹ 一個(gè)對(duì)處理器資源效率零拷貝內(nèi)存架構(gòu);

        ⑺ 能夠發(fā)現(xiàn)本地網(wǎng)絡(luò)上使用PulseAudio的其他計(jì)算機(jī)并通過(guò)其揚(yáng)聲器直接播放聲音;

        ⑻ 能夠改變一個(gè)應(yīng)用程序的聲音輸出設(shè)備,就算這個(gè)應(yīng)用程序在播放聲音(程序不需要支持這個(gè)特性,而事實(shí)上,程序甚至沒(méi)有意識(shí)到改變);

        ⑼ 帶有腳本功能的命令行界面;

        ⑽ 一個(gè)功能完善且?guī)в忻钚兄匦屡渲霉δ艿氖刈o(hù)進(jìn)程;

        ⑾ 內(nèi)置采樣轉(zhuǎn)換和重采樣功能;

        ⑿ 能夠合并多塊聲卡成一個(gè)聲卡;

        ⒀ 能夠同步播放多個(gè)音頻流;

        ⒁ 動(dòng)態(tài)檢測(cè)藍(lán)牙音頻設(shè)備;

        ⒂ 使全系統(tǒng)均衡的能力。

        1 系統(tǒng)架構(gòu)

        安卓音頻系統(tǒng)架構(gòu)從上到下可以分為5層,從上到下分別:Application、Framework、Libraries、HAL、Linux Kernel。Application為運(yùn)行在最上層的各種應(yīng)用,F(xiàn)ramework是對(duì)Libraries的封裝,為上層Application的開(kāi)發(fā)提供標(biāo)準(zhǔn)接口,Libraries是整個(gè)系統(tǒng)的核心,負(fù)責(zé)完成音頻的控制與處理。本文涉及的音頻系統(tǒng)在層級(jí)上與android系統(tǒng)大同小異,同樣分為Application、Framework、Libraries、HAL、Linux Kernel這幾層,但在Framework、Libraries擁有不同的實(shí)現(xiàn)方式,具體架構(gòu)見(jiàn)圖1。

        ⑴ Framework

        Framework層提供兩個(gè)模塊,分別為AudioManager模塊與Ngfd模塊。

        AudioManager模塊的設(shè)計(jì)思想源于android系統(tǒng)的AudioManager類(lèi),本系統(tǒng)的AudioManager模塊提供了一系列與音量控制相關(guān)的方法供上層應(yīng)用調(diào)用,以方便應(yīng)用程序控制音量。AudioManager又分為三個(gè)模塊:Volume、Route、Profile,這三個(gè)模塊分別負(fù)責(zé)音量調(diào)節(jié)、通路以及策略。AudioManager模塊最終都是通過(guò)調(diào)用PulseAudio接口來(lái)實(shí)現(xiàn)對(duì)音量的控制。Ngfd模塊提供與振動(dòng)相關(guān)的接口供上層應(yīng)用調(diào)用。

        ⑵ Libraries

        Libraries層提供兩個(gè)模塊,分別為PulseAudio和Profiled,其中PulseAudio為開(kāi)源項(xiàng)目,提供音頻控制相關(guān)方法,PulseAudio具體實(shí)現(xiàn)方式本文不做探究,Profiled負(fù)責(zé)提供音頻策略。

        2 AndroidManager方法說(shuō)明

        移動(dòng)操作系統(tǒng)一般具有多種不同類(lèi)型的音頻,例如:鈴聲、通知、鬧鐘、短消息等等,所以這需求音頻系統(tǒng)能夠?qū)Σ煌?lèi)型的音頻分別進(jìn)行設(shè)置,為此,本文將音頻分為如下7種類(lèi)型(role),放在一個(gè)枚舉類(lèi)型中:

        AudioManager控制整個(gè)音頻系統(tǒng)由一系列的方法來(lái)完成,每種方法具有自己獨(dú)特的功能,在本文所設(shè)計(jì)的音頻系統(tǒng)中,將方法歸結(jié)為16種,每種方法的介紹與實(shí)現(xiàn)如下。

        ⑴ Audio Role

        AM_ROLE_TYPE getActiveRole()——返回當(dāng)前活動(dòng)的Role,其取值是AM_ROLE_TYPE枚舉類(lèi)型。

        ⑵ 音量控制

        int getVolume(AM_ROLE_TYPE role)——返回指定Role的當(dāng)前音量,其取值范圍為0~100。輸入?yún)?shù)為Role,其取值A(chǔ)M_ROLE_TYPE枚舉類(lèi)型。

        void setVolume(AM_ROLE_TYPE role, int volume)——設(shè)置指定Role的當(dāng)前音量,其取值范圍為0~100。

        ⑶ 音量調(diào)節(jié)

        void adjustVolume(AM_ROLE_TYPE role, AM_ADJUST_DIRECTION direction)——側(cè)鍵設(shè)置音量的接口,其輸入?yún)?shù)除了Role外,還有一個(gè)用于指導(dǎo)操作的參數(shù)direction,其取值為ADJUST_LOWER,ADJUST_RAISE和ADJUST_SAME三者之一。目前系統(tǒng)的步長(zhǎng)音量分為12級(jí)。

        本文所述音頻系統(tǒng)借鑒android系統(tǒng)的分層架構(gòu),采用PulseAudio作為音頻處理單元,完成了音頻策略制定、情景模式切換以及音量調(diào)節(jié)功能,并提供API供上層開(kāi)發(fā)人員調(diào)用。本音頻系統(tǒng)劃分了多種音頻類(lèi)型,并制定了多種音頻通路,能滿(mǎn)足操作系統(tǒng)多樣化的音頻調(diào)節(jié)功能需求,但由于有時(shí)需要快速地在靜音、振動(dòng)與正常三種模式之間切換,所以本音頻系統(tǒng)加入了情景模式切換功能,用戶(hù)能更便捷的在這三種模式中切換。

        參考文獻(xiàn)(References):

        [1] 楊豐盛.Android應(yīng)用開(kāi)發(fā)揭秘[M].機(jī)械工業(yè)出版社,2010.

        [2] 王波濤.移動(dòng)多媒體技術(shù)介紹[M].機(jī)械工業(yè)出版社,2011.

        [3] 韓超,梁泉.Android系統(tǒng)級(jí)深入開(kāi)發(fā)——移植與調(diào)試[M].電

        子工業(yè)出版社,2010.

        [4] 姚昱旻,劉衛(wèi)國(guó).Android的架構(gòu)與應(yīng)用開(kāi)發(fā)研究[J].計(jì)算機(jī)系

        統(tǒng)應(yīng)用,2008.11:24,110-112

        [5] 李楊,馮剛,李亮,羅擁華.基于Android的多媒體應(yīng)用開(kāi)發(fā)與

        研究[J].計(jì)算機(jī)與現(xiàn)代化,2011.4:149-152

        [6] https://wiki.archlinux.org/index.php/PulseAudio,archlinux

        [7] http://www.oschina.net/p/pulseaudio,開(kāi)源中國(guó),2009.

        猜你喜歡
        音頻系統(tǒng)音量調(diào)用
        測(cè)測(cè)你的“音量值”
        淺談號(hào)角與帶式揚(yáng)聲器 在家用或?qū)I(yè)音頻系統(tǒng)中的應(yīng)用
        打造最具性?xún)r(jià)比的7.4.1沉浸式音頻系統(tǒng) 昆明藝術(shù)家園
        Elektrobit提供的EB GUIDE工具鏈加速Pioneer最新顯示音頻系統(tǒng)的開(kāi)發(fā)
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        從房間與音頻系統(tǒng)再談定制安裝的核心要素 暢談家庭影院系統(tǒng)中的隱藏設(shè)計(jì)
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        請(qǐng)放心地扭大音量看電影聽(tīng)音樂(lè)吧!Mclntosh Sonus Faber家庭影院套裝
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        細(xì)火慢燉增加音量調(diào)節(jié)級(jí)數(shù)
        国产成人www免费人成看片 | 日韩不卡无码三区| 国产精品成人久久a级片| 亚洲精品一区二区在线免费观看| 尤物yw午夜国产精品视频| 三年片大全在线观看免费观看大全 | 国内精品久久久久影院优| 亚洲精品熟女国产| 亚洲国产无线乱码在线观看| 亚洲一级无码AV毛片久久 | 日本丰满老妇bbw| 无码少妇一区二区性色av| 国产精品揄拍100视频| 一区二区三区国产97| 久久老熟女一区二区三区| 精品厕所偷拍一区二区视频| 亚洲人成色7777在线观看不卡| 久久中文精品无码中文字幕| 亚洲日本无码一区二区在线观看| 亚洲激情一区二区三区视频| 蜜桃传媒一区二区亚洲av婷婷| 午夜理论片yy44880影院| 人人妻人人爽人人做夜欢视频九色 | 国产精品一区二区三区不卡| 国产一区二区三区不卡视频| 亚洲2022国产成人精品无码区| 久久人人爽人人爽人人片av东京热| 亚洲AV无码精品呻吟| 成年女人18毛片毛片免费| 99久久精品一区二区国产| 久久久国产乱子伦精品| a级毛片在线观看| 538亚洲欧美国产日韩在线精品| 女同亚洲一区二区三区精品久久| 欧美最猛性xxxx| 欧美金发尤物大战黑人| 中文AV怡红院| 国产精品久久熟女吞精| 国产精品内射久久一级二| 高清不卡一区二区三区| 久久精品国产热|