999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

移動操作系統音頻單元設計

2017-03-06 17:33:36王佩光操李節
計算機時代 2017年2期
關鍵詞:功能系統

王佩光+操李節

摘 要: 介紹一種移動操作系統音頻模塊設計實現方法。該音頻模塊采用開源項目PulseAudio作為音頻處理單元,用ALSA與底層硬件交互,由AudioManager提供API供上層應用調用,實現操作系統的音頻通路切換與音量調節等功能。文章首先介紹音頻系統架構,然后從音頻控制單元AudioManager出發,詳細介紹系統音頻分類以及AudioManager提供給上層調用的方法,最后介紹音頻通路與音量調節的實現。

關鍵詞: 移動操作系統; 音頻模塊; AudioManager; 通路切換; 音量調節

中圖分類號:TP316 文獻標志碼:A 文章編號:1006-8228(2017)02-01-04

0 引言

音頻系統是移動操作系統不可或缺的子系統之一,它負責處理所有與聲音相關的信息,隨著移動操作系統功能設計的越來越全面和人性化,對音頻的精準控制提出了更高的要求,例如不同情況下不同的輸出方式以及不同模式下的音量調節互不影響。這就對音頻系統的功能提出了更高的要求。android系統的音頻子系統是一款成熟的音頻系統[1-3],谷歌公司為它的音頻系統設計了一套全局音頻管理器——AudioFinger,并精簡了ALSA來與硬件交互。本文所涉及的移動操作系統采用開源項目pulseaudio作為音頻處理單元,并采用ALSA與硬件交互[4-5]。

PulseAudio[6]是一個跨平臺的,可通過網絡工作的聲音服務,它的主要特點包括[7]:

⑴ 可對每一個應用程序進行音量控制;

⑵ 可擴展的插件與支持可裝載模塊架構;

⑶ 兼容性許多流行的音頻應用程序;

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

⑸ 低延時操作和支持延遲測量;

⑹ 一個對處理器資源效率零拷貝內存架構;

⑺ 能夠發現本地網絡上使用PulseAudio的其他計算機并通過其揚聲器直接播放聲音;

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

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

⑽ 一個功能完善且帶有命令行重新配置功能的守護進程;

⑾ 內置采樣轉換和重采樣功能;

⑿ 能夠合并多塊聲卡成一個聲卡;

⒀ 能夠同步播放多個音頻流;

⒁ 動態檢測藍牙音頻設備;

⒂ 使全系統均衡的能力。

1 系統架構

安卓音頻系統架構從上到下可以分為5層,從上到下分別:Application、Framework、Libraries、HAL、Linux Kernel。Application為運行在最上層的各種應用,Framework是對Libraries的封裝,為上層Application的開發提供標準接口,Libraries是整個系統的核心,負責完成音頻的控制與處理。本文涉及的音頻系統在層級上與android系統大同小異,同樣分為Application、Framework、Libraries、HAL、Linux Kernel這幾層,但在Framework、Libraries擁有不同的實現方式,具體架構見圖1。

⑴ Framework

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

AudioManager模塊的設計思想源于android系統的AudioManager類,本系統的AudioManager模塊提供了一系列與音量控制相關的方法供上層應用調用,以方便應用程序控制音量。AudioManager又分為三個模塊:Volume、Route、Profile,這三個模塊分別負責音量調節、通路以及策略。AudioManager模塊最終都是通過調用PulseAudio接口來實現對音量的控制。Ngfd模塊提供與振動相關的接口供上層應用調用。

⑵ Libraries

Libraries層提供兩個模塊,分別為PulseAudio和Profiled,其中PulseAudio為開源項目,提供音頻控制相關方法,PulseAudio具體實現方式本文不做探究,Profiled負責提供音頻策略。

2 AndroidManager方法說明

移動操作系統一般具有多種不同類型的音頻,例如:鈴聲、通知、鬧鐘、短消息等等,所以這需求音頻系統能夠對不同類型的音頻分別進行設置,為此,本文將音頻分為如下7種類型(role),放在一個枚舉類型中:

AudioManager控制整個音頻系統由一系列的方法來完成,每種方法具有自己獨特的功能,在本文所設計的音頻系統中,將方法歸結為16種,每種方法的介紹與實現如下。

⑴ Audio Role

AM_ROLE_TYPE getActiveRole()——返回當前活動的Role,其取值是AM_ROLE_TYPE枚舉類型。

⑵ 音量控制

int getVolume(AM_ROLE_TYPE role)——返回指定Role的當前音量,其取值范圍為0~100。輸入參數為Role,其取值AM_ROLE_TYPE枚舉類型。

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

⑶ 音量調節

void adjustVolume(AM_ROLE_TYPE role, AM_ADJUST_DIRECTION direction)——側鍵設置音量的接口,其輸入參數除了Role外,還有一個用于指導操作的參數direction,其取值為ADJUST_LOWER,ADJUST_RAISE和ADJUST_SAME三者之一。目前系統的步長音量分為12級。

本文所述音頻系統借鑒android系統的分層架構,采用PulseAudio作為音頻處理單元,完成了音頻策略制定、情景模式切換以及音量調節功能,并提供API供上層開發人員調用。本音頻系統劃分了多種音頻類型,并制定了多種音頻通路,能滿足操作系統多樣化的音頻調節功能需求,但由于有時需要快速地在靜音、振動與正常三種模式之間切換,所以本音頻系統加入了情景模式切換功能,用戶能更便捷的在這三種模式中切換。

參考文獻(References):

[1] 楊豐盛.Android應用開發揭秘[M].機械工業出版社,2010.

[2] 王波濤.移動多媒體技術介紹[M].機械工業出版社,2011.

[3] 韓超,梁泉.Android系統級深入開發——移植與調試[M].電

子工業出版社,2010.

[4] 姚昱旻,劉衛國.Android的架構與應用開發研究[J].計算機系

統應用,2008.11:24,110-112

[5] 李楊,馮剛,李亮,羅擁華.基于Android的多媒體應用開發與

研究[J].計算機與現代化,2011.4:149-152

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

[7] http://www.oschina.net/p/pulseaudio,開源中國,2009.

猜你喜歡
功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
主站蜘蛛池模板: 2021天堂在线亚洲精品专区| 精品一区二区三区视频免费观看| 中文无码影院| 亚洲AV色香蕉一区二区| 好紧太爽了视频免费无码| 国产成人高清精品免费软件| 中文字幕亚洲电影| 国产成人亚洲欧美激情| 台湾AV国片精品女同性| 中文字幕无码av专区久久| 免费人成在线观看成人片| 91在线视频福利| 91色在线观看| 亚洲大学生视频在线播放| 亚洲国产午夜精华无码福利| 国产理论一区| 超碰免费91| 五月天久久婷婷| 国产91透明丝袜美腿在线| 亚洲 欧美 中文 AⅤ在线视频| 亚洲无码视频一区二区三区| 日韩在线1| 好久久免费视频高清| 成人a免费α片在线视频网站| 成人在线观看不卡| 国产另类视频| 久青草国产高清在线视频| 五月婷婷综合在线视频| 成人看片欧美一区二区| 毛片国产精品完整版| 欧洲熟妇精品视频| 国产91熟女高潮一区二区| 成人伊人色一区二区三区| 精品国产91爱| 中文字幕不卡免费高清视频| 日本午夜三级| 8090成人午夜精品| 精品一区二区三区四区五区| 欧美亚洲日韩中文| 超清人妻系列无码专区| 欧美成人a∨视频免费观看| 日本高清免费不卡视频| 国产精品护士| 88av在线看| 日本高清在线看免费观看| 亚洲最新地址| 红杏AV在线无码| 亚洲香蕉在线| 亚洲精品无码高潮喷水A| 尤物精品视频一区二区三区| 久久亚洲美女精品国产精品| 97综合久久| 欧美在线观看不卡| 亚洲国产精品日韩欧美一区| 亚洲精品va| 国产在线拍偷自揄观看视频网站| 欧美成人一级| 午夜天堂视频| 农村乱人伦一区二区| 欧美一级色视频| 在线看片国产| 久青草免费在线视频| 亚洲毛片在线看| 成色7777精品在线| 2021国产精品自产拍在线| 欧美成人第一页| 国产三级成人| 亚洲精品波多野结衣| 伊在人亚洲香蕉精品播放| 国产国模一区二区三区四区| 在线色综合| 四虎国产在线观看| 超级碰免费视频91| 国产亚洲欧美日韩在线一区| 国产欧美日韩资源在线观看| 蜜桃臀无码内射一区二区三区| 久久黄色视频影| 91av成人日本不卡三区| www.av男人.com| 亚洲成a人片77777在线播放| 免费A∨中文乱码专区| 欧美精品在线视频观看|