[發明專利]嵌入式設備的音頻管理裝置及方法有效
| 申請號: | 200810099301.9 | 申請日: | 2008-05-09 |
| 公開(公告)號: | CN101266582A | 公開(公告)日: | 2008-09-17 |
| 發明(設計)人: | 劉亮 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F13/10 | 分類號: | G06F13/10 |
| 代理公司: | 北京康信知識產權代理有限責任公司 | 代理人: | 尚志峰;吳孟秋 |
| 地址: | 518057廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 嵌入式 設備 音頻 管理 裝置 方法 | ||
技術領域
本發明涉及一種在嵌入式設備(比如手機)上實現便于第三方程序移植的音頻管理的技術。
背景技術
目前運行在手機終端上的最典型的操作系統是Linux和WinCE。以Linux為例,一般應用是與操作系統進行交互,這些應用都是通過操作系統提供的接口(比如驅動程序接口)進行操作。例如,應用程序要播放聲音,就要與聲卡(音頻,下同)驅動程序交互,一般要通過調用open()、ioctl()、write()、read()、close()等函數來操作聲卡。普通的系統音頻結構,如圖1所示。簡單的嵌入式系統與功能強大的PC機有很大的區別,比如,簡單的聲卡設備,不允許多個應用同時打開聲卡,同時播放聲音,也就是說如果一個應用正在使用聲卡,則另外的應用就無法使用聲卡,只有等待前一個應用使用完將聲卡關閉后才能使用。這個問題不是不能解決,比如,不允許多個應用同時打開聲卡,是因為聲卡設備只有一個,如果增加聲卡硬件設備,就可以解決這個問題,不過這樣會導致成本的增加,因此一般很少使用。
另外手機上的音頻管理有其獨有的特點:
一個典型的手機終端,用戶使用時會有許多場景,比如來電、打電話中、MP3播放中、接收短消息、響鬧鈴中等等。這些場景,可能單獨發生,也有可能同時發生,比如正在播放MP3,此時鬧鈴響了,或者來電話了,又或者來短消息了等等,因此手機軟件開發時,必然要考慮到如來電鈴音、按鍵音、鬧鈴音、短消息提示音、MP3音樂等等各種聲音需要播放。但是這些聲音又有各不相同的特點,比如,來電鈴音,可以說是實時的,優先級最高的,不論當時在做什么,只要有來電,就必須馬上播鈴音提示,并且不能中間打斷;而按鍵音的特點是優先級比較低,一般正在播放其它聲音的時候,可以不播按鍵音;MP3音樂的特點是播放時間一般很長,在播放期間,可能發生其它很多事情,有很多其它聲音需要播放,一般來說,MP3音樂此時應該暫停。許多場景并發時就會遇到我們前面說的問題:一個應用正在使用聲卡,會使后面所有的應用都無法及時使用聲卡。
解決該問題的辦法有很多,如:
可以使用一個單獨的服務程序,負責對聲卡設備進行管理,對各種聲音進行有優先級的排隊,優先級高的聲音先播放。該服務程序,可以放在應用層,如圖2中的音頻管理模塊,對聲卡的操作都由此服務程序完成,其它任何應用不應該自己操作聲卡,其它應用只能通過向服務程序發消息的方法通知服務程序執行相應的操作。不過這種方法也有缺點,一是此服務程序實現復雜,要考慮多種情況,比如,對簡單的鈴音,可以直接使用文件名做消息參數,由服務程序自己調用codec(編解碼器)解壓,由其操作聲卡播放;對于MP3音樂,由于一般MP3播放器自己就已經調用codec將數據解壓了,因此服務程序只須將解開的數據直接寫到聲卡播放就行了,但是這個數據如何從媒體播放器傳遞到服務程序也存在問題,畢竟這是兩個不同的進程,需要傳輸的數據量又非常大,這樣需要復雜的進程間通訊和同步機制、進程間大量數據傳輸機制;二是這個方法不便于移植其它程序到系統,原因很簡單,比如要移植一個游戲到系統,由于所有的游戲都是直接操作聲卡播放聲音的,因此顯然是與系統沖突的,這給移植帶來很大的麻煩;有第三方移植程序的時候,如果把第三方程序也當成普通應用,則系統結構圖仍舊如圖2所示,但是這個方案顯然要對第三方程序做大的修改;如果讓第三方程序直接訪問驅動程序,則系統結構圖如圖3所示,這種方案顯然會導致音頻管理沖突。
也可以將這些復雜的音頻管理邏輯全部寫入音頻驅動程序,盡量保證驅動程序的接口不做變化,如圖4所示。這種方法的優點在于第三方程序的移植方便了,但它具有下列明顯缺點:一是對音頻驅動要進行很大的改動,這是系統不穩定的重要因素;二是將不應該由驅動做的事情,做到了驅動里,導致整個系統結構不清晰,邏輯混亂,驅動和上層應用嚴重相互依賴,不利于移植和擴展,不利于獨立發展。
因此,需要一種嵌入式設備的音頻管理的解決方案,能夠解決上述相關技術中的問題。
發明內容
本發明的目的是提出一種使用偽驅動方便手機等設備上第三方程序移植的音頻管理的方案,即通過在驅動程序里做一個虛的音頻設備,來避免第三方程序由于直接操作聲卡而導致系統音頻管理沖突。
根據本發明的一個方面,提供了一種嵌入式設備的音頻管理裝置,包括用于驅動聲卡工作的音頻驅動模塊,該音頻管理裝置還包括:虛擬音頻驅動模塊,用于在同步模塊的控制下響應于第三方的操作來驅動聲卡工作;以及同步模塊,用于根據音頻驅動模塊的工作狀態來控制虛擬音頻驅動模塊的運行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810099301.9/2.html,轉載請聲明來源鉆瓜專利網。





