本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,具體而言,涉及一種終端的音頻設(shè)備控制方法、系統(tǒng)及移動(dòng)終端。
背景技術(shù):
隨著諸如智能手機(jī)、平板電腦等移動(dòng)終端的快速發(fā)展,涉及到音頻輸出的應(yīng)用程序越來越多(例如音樂播放器、視頻播放器、游戲等),與此同時(shí)能夠輸出音頻的設(shè)備(例如喇叭、聽筒、有線耳機(jī)、無線耳機(jī)、藍(lán)牙耳機(jī)等)也越來越多。
現(xiàn)代生活中,很多利用移動(dòng)操作系統(tǒng)的移動(dòng)終端都配備了耳機(jī)。用戶在聽音樂或是看視頻過程中,有時(shí)需要插拔耳機(jī),耳機(jī)在被拔出后,系統(tǒng)自帶的聲音播放設(shè)備會(huì)繼續(xù)播放音頻。由于系統(tǒng)自帶的聲音播放設(shè)備一般情況下音量比耳機(jī)大很多,這種情況下容易干擾他人,或者泄漏用戶的隱私。為防止這種情況,需要用戶在拔掉耳機(jī)前記住并手動(dòng)靜音,這對(duì)用戶體驗(yàn)和隱私保護(hù)都是不方便和易忘的操作。
Android系統(tǒng)或者iOS系統(tǒng)中,應(yīng)用可以不去關(guān)注有線耳機(jī)的連接狀態(tài)。這樣,當(dāng)有線耳機(jī)拔出時(shí),應(yīng)用的聲音會(huì)繼續(xù)從喇叭播放。如果應(yīng)用在有線耳機(jī)拔出時(shí)要做到暫停播放,應(yīng)用自身就必須實(shí)時(shí)監(jiān)聽有線耳機(jī)的連接狀態(tài),并判斷插拔的設(shè)備是否為耳機(jī),只有當(dāng)前拔出的設(shè)備為有線耳機(jī)時(shí),才去執(zhí)行暫停播放聲音的操作,這在一定程度上增加了應(yīng)用代碼的復(fù)雜度。
因此,需要一種新的終端的音頻設(shè)備控制方法、系統(tǒng)及移動(dòng)終端。
在所述背景技術(shù)部分公開的上述信息僅用于加強(qiáng)對(duì)本公開的背景的理解,因此它可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種終端的音頻設(shè)備控制方法、系統(tǒng)及移動(dòng)終端,能夠?qū)崿F(xiàn)音頻設(shè)備禁用時(shí),以預(yù)設(shè)方式處理應(yīng)用當(dāng)前播放/錄制的音視頻文件,實(shí)現(xiàn)用戶的定制需求且不需要應(yīng)用自身關(guān)注音頻設(shè)備的連接狀態(tài)及設(shè)備類型。
本發(fā)明的其他特性和優(yōu)點(diǎn)將通過下面的詳細(xì)描述變得顯然,或部分地通過本發(fā)明的實(shí)踐而習(xí)得。
根據(jù)本公開的一個(gè)方面,提供一種終端的音頻設(shè)備控制方法,包括:檢測(cè)一終端的至少一音頻設(shè)備的連接狀態(tài);當(dāng)檢測(cè)到所述至少一音頻設(shè)備的連接狀態(tài)為禁用時(shí),通過解析一音頻策略配置文件輸出一控制信號(hào);根據(jù)所述控制信號(hào)實(shí)現(xiàn)所述終端當(dāng)前播放或者錄制的音視頻文件以預(yù)設(shè)方式處理。
在本公開的一種示例性實(shí)施例中,所述至少一音頻設(shè)備包括有線耳機(jī),所述終端包括一耳機(jī)接口,其中,當(dāng)所述有線耳機(jī)插入所述耳機(jī)接口時(shí),所述有線耳機(jī)的連接狀態(tài)為使能;當(dāng)所述有線耳機(jī)拔出所述耳機(jī)接口時(shí),所述有線耳機(jī)的連接狀態(tài)為禁用。
在本公開的一種示例性實(shí)施例中,所述預(yù)設(shè)方式包括:將所述終端當(dāng)前播放的音視頻文件設(shè)置成靜音;或者調(diào)低所述終端當(dāng)前播放的音視頻文件的音量;或者暫停所述終端當(dāng)前播放的音視頻文件;或者釋放所述終端當(dāng)前錄制的音視頻文件所占用的資源。
在本公開的一種示例性實(shí)施例中,根據(jù)所述控制信號(hào)實(shí)現(xiàn)所述終端當(dāng)前播放或者錄制的音視頻文件以預(yù)設(shè)方式處理包括:通過一資源插件將所述控制信號(hào)廣播至一第一接口;所述第一接口接收所述控制信號(hào)并發(fā)送至一多媒體模塊;所述多媒體模塊經(jīng)過相應(yīng)的處理邏輯后將所述控制信號(hào)發(fā)送至一多媒體框架;所述多媒體框架根據(jù)所述控制信號(hào)以所述預(yù)設(shè)方式處理所述終端當(dāng)前播放或者錄制的音視頻文件的音頻數(shù)據(jù)流。
在本公開的一種示例性實(shí)施例中,還包括:所述多媒體模塊經(jīng)過相應(yīng)的處理邏輯后將所述控制信號(hào)發(fā)送至所述終端中的一應(yīng)用,所述應(yīng)用調(diào)用所述終端當(dāng)前播放或者錄制的音視頻文件;所述應(yīng)用根據(jù)所述控制信號(hào)相應(yīng)的改變其用戶界面。
在本公開的一種示例性實(shí)施例中,還包括:根據(jù)所述至少一音頻設(shè)備的連接狀態(tài)解析所述音頻策略配置文件,并輸出一音頻通路切換信號(hào);根據(jù)所述音頻通路切換信號(hào)實(shí)現(xiàn)所述至少一音頻設(shè)備的音頻通路切換。
在本公開的一種示例性實(shí)施例中,根據(jù)所述音頻通路切換信號(hào)實(shí)現(xiàn)所述至少一音頻設(shè)備的音頻通路切換包括:通過所述音頻設(shè)備管理模塊的一信號(hào)插件將所述音頻通路切換信號(hào)以一Dbus消息廣播;通過一策略執(zhí)行插件接收所述Dbus消息,調(diào)用一音頻服務(wù)模塊接口進(jìn)行音頻通路的切換。
根據(jù)本公開的一個(gè)方面,提供一種終端的音頻設(shè)備控制系統(tǒng),包括:檢測(cè)模塊,用于檢測(cè)一終端的至少一音頻設(shè)備的連接狀態(tài);解析模塊,用于當(dāng)檢測(cè)到所述至少一音頻設(shè)備的連接狀態(tài)為禁用時(shí),通過解析一音頻策略配置文件輸出一控制信號(hào);處理模塊,用于根據(jù)所述控制信號(hào)實(shí)現(xiàn)所述終端當(dāng)前播放或者錄制的音視頻文件以預(yù)設(shè)方式處理。
在本公開的一種示例性實(shí)施例中,所述處理模塊包括:一資源插件,所述資源插件連接所述解析模塊;一第一接口,用于接收所述資源插件廣播的所述控制信號(hào);一多媒體模塊,用于接收所述第一接口發(fā)送的所述控制信號(hào),并對(duì)所述控制信號(hào)進(jìn)行相應(yīng)的處理邏輯;一多媒體框架,用于根據(jù)所述控制信號(hào)以所述預(yù)設(shè)方式處理所述終端當(dāng)前播放或者錄制的音視頻文件的音頻數(shù)據(jù)流。
在本公開的一種示例性實(shí)施例中,還包括:通路切換模塊,所述通路切換模塊連接所述解析模塊;其中所述解析模塊根據(jù)所述至少一音頻設(shè)備的連接狀態(tài)解析所述音頻策略配置文件,并輸出一音頻通路切換信號(hào);所述通路切換模塊根據(jù)所述音頻通路切換信號(hào)實(shí)現(xiàn)所述至少一音頻設(shè)備的音頻通路切換。
根據(jù)本公開的一個(gè)方面,提供一種移動(dòng)終端,包括:處理器;用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;其中,所述處理器被配置為:檢測(cè)所述移動(dòng)終端的至少一音頻設(shè)備的連接狀態(tài);當(dāng)檢測(cè)到所述至少一音頻設(shè)備的連接狀態(tài)為禁用時(shí),通過解析一音頻策略配置文件輸出一控制信號(hào);根據(jù)所述控制信號(hào)實(shí)現(xiàn)所述移動(dòng)終端當(dāng)前播放或者錄制的音視頻文件以預(yù)設(shè)方式處理。
根據(jù)本發(fā)明的終端的音頻設(shè)備控制方法、系統(tǒng)及移動(dòng)終端,當(dāng)音頻外設(shè)例如耳機(jī)從移動(dòng)終端上拔出時(shí),通過上述方法和系統(tǒng),移動(dòng)終端能檢測(cè)耳機(jī)被拔出而自動(dòng)將應(yīng)用當(dāng)前播放的聲音設(shè)置成靜音或者暫停狀態(tài),如此可避免耳機(jī)被拔出后移動(dòng)終端通過其擴(kuò)音器外發(fā)聲音而干擾他人,而且還能避免泄漏用戶隱私。不僅如此,當(dāng)移動(dòng)終端處于靜音狀態(tài)時(shí),其用于播放聲音的擴(kuò)音器處于非工作狀態(tài),從而避免了多余電量的消耗,因此上述方法還具有省電節(jié)能的效果。
另外,根據(jù)本發(fā)明的終端的音頻設(shè)備控制方法、系統(tǒng)及移動(dòng)終端,利用移動(dòng)終端的移動(dòng)操作系統(tǒng)已有的模塊來管理有線耳機(jī)的連接狀態(tài),并讓應(yīng)用程序響應(yīng)和執(zhí)行相應(yīng)的音頻策略,即當(dāng)移動(dòng)操作系統(tǒng)的音頻設(shè)備管理模塊檢測(cè)到音頻設(shè)備斷開時(shí),由音頻設(shè)備管理模塊直接執(zhí)行讓應(yīng)用失去訪問音頻設(shè)備資源權(quán)限的邏輯流程,即暫停應(yīng)用聲音的播放,使得應(yīng)用無需關(guān)注失去訪問音頻設(shè)備資源到底是哪種具體的音頻設(shè)備,從而能夠提供更好的用戶體驗(yàn)。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本發(fā)明。
附圖說明
通過參照附圖詳細(xì)描述其示例實(shí)施例,本發(fā)明的上述和其它目標(biāo)、特征及優(yōu)點(diǎn)將變得更加顯而易見。
圖1是根據(jù)一示例性實(shí)施方式示出的一種終端的音頻設(shè)備控制方法所應(yīng)用的音頻系統(tǒng)的框架圖。
圖2是根據(jù)一示例性實(shí)施方式示出的一種終端的音頻設(shè)備控制方法的流程圖。
圖3是根據(jù)一示例性實(shí)施方式示出的一種終端的有線耳機(jī)拔出時(shí)的控制方法實(shí)現(xiàn)的框架圖。
圖4是根據(jù)一示例性實(shí)施方式示出的另一種終端的有線耳機(jī)拔出時(shí)的控制方法實(shí)現(xiàn)的框架圖。
圖5是根據(jù)一示例性實(shí)施方式示出的一種終端的音頻設(shè)備控制系統(tǒng)的框圖。
圖6是根據(jù)一示例性實(shí)施方式示出的一種用于實(shí)現(xiàn)音頻設(shè)備控制方法的移動(dòng)終端的框圖。
具體實(shí)施方式
現(xiàn)在將參考附圖更全面地描述示例實(shí)施方式。然而,示例實(shí)施方式能夠以多種形式實(shí)施,且不應(yīng)被理解為限于在此闡述的范例;相反,提供這些實(shí)施方式使得本發(fā)明將更加全面和完整,并將示例實(shí)施方式的構(gòu)思全面地傳達(dá)給本領(lǐng)域的技術(shù)人員。附圖僅為本發(fā)明的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標(biāo)記表示相同或類似的部分,因而將省略對(duì)它們的重復(fù)描述。
此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個(gè)或更多實(shí)施方式中。在下面的描述中,提供許多具體細(xì)節(jié)從而給出對(duì)本發(fā)明的實(shí)施方式的充分理解。然而,本領(lǐng)域技術(shù)人員將意識(shí)到,可以實(shí)踐本發(fā)明的技術(shù)方案而省略所述特定細(xì)節(jié)中的一個(gè)或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細(xì)示出或描述公知結(jié)構(gòu)、方法、裝置、實(shí)現(xiàn)或者操作以避免喧賓奪主而使得本發(fā)明的各方面變得模糊。
圖1是根據(jù)一示例性實(shí)施方式示出的一種終端的音頻設(shè)備控制方法所應(yīng)用的音頻系統(tǒng)的框架圖。
如圖1所示,該框架10包括應(yīng)用(app)11、設(shè)備資源申請(qǐng)模塊12、音頻設(shè)備管理模塊13、音頻策略(Audio Policy)配置文件14、音頻服務(wù)(PulseAudio)15、多媒體框架(例如,Gstreamer)16、硬件驅(qū)動(dòng)(ALSA)17以及音頻設(shè)備18。
其中音頻設(shè)備管理模塊13管理各音頻設(shè)備18的連接狀態(tài),是實(shí)現(xiàn)音頻策略(Audio Policy)的后臺(tái)服務(wù)模塊,用于音頻路由(Audio Route,主要是根據(jù)應(yīng)用的類型和音頻設(shè)備18的連接狀態(tài),給應(yīng)用選擇合適的音頻設(shè)備18輸出聲音的過程)和激活應(yīng)用。
其中音頻策略配置文件14中主要是定義各應(yīng)用11發(fā)生音頻沖突時(shí)解決的方法或規(guī)則,音頻策略可以由操作系統(tǒng)統(tǒng)一定義。
由于在實(shí)際應(yīng)用場(chǎng)景中用戶會(huì)碰到各種各樣的音頻沖突問題。以一個(gè)具體應(yīng)用場(chǎng)景為例,音樂播放器通過智能手機(jī)的耳機(jī)輸出MP3,在耳機(jī)輸出該MP3的過程中,鬧鐘調(diào)用智能手機(jī)的喇叭輸出提示音,在這種情況下,MP3的輸出和鬧鐘提示音的輸出產(chǎn)生了音頻沖突問題。因此,需要對(duì)音頻的輸出和能夠輸出音頻的設(shè)備(音頻設(shè)備)的調(diào)用進(jìn)行管理以解決音頻沖突問題。需要說明的是,雖然本發(fā)明實(shí)施例以智能手機(jī)為例進(jìn)行說明,但本公開并不限定于此,任意具有音頻輸出功能的終端均包括在本發(fā)明所保護(hù)的范圍內(nèi)。下文中以智能手機(jī)為例對(duì)本發(fā)明所提供的音頻系統(tǒng)進(jìn)行說明。
其中音頻服務(wù)15負(fù)責(zé)控制音頻硬件混頻和提供服務(wù)給應(yīng)用11。
其中多媒體框架16主要用于音視頻回放和錄制,是處理多媒體流的框架。根據(jù)實(shí)際需求,可以采用開源多媒體框架Gstreamer、安卓系統(tǒng)的jellybean多媒體框架或其他合適的多媒體框架。下面的實(shí)施例中均以Gstreamer為例進(jìn)行示例說明。
其中硬件驅(qū)動(dòng)17實(shí)現(xiàn)最底層的基礎(chǔ)音頻功能。
在一些實(shí)施例中,所述音頻設(shè)備18包括喇叭、聽筒、有線耳機(jī)和無線耳機(jī)(例如藍(lán)牙耳機(jī))。本領(lǐng)域技術(shù)人員可以理解的是,除了上述喇叭、聽筒、有線耳機(jī)和無線耳機(jī)之外,其他已經(jīng)存在的或者未來可能出現(xiàn)的、內(nèi)置于智能手機(jī)或外置于智能手機(jī)的、可以用于輸出音頻的設(shè)備資源均包括在本發(fā)明所保護(hù)的范圍內(nèi),為了簡(jiǎn)明起見,在此不再一一贅述。
音頻設(shè)備管理模塊13管理著所有音頻設(shè)備,如喇叭、聽筒、有線耳機(jī)、麥克風(fēng)、無線耳機(jī)、藍(lán)牙耳機(jī)等。應(yīng)用11在使用音頻設(shè)備18之前需要通過調(diào)用設(shè)備資源申請(qǐng)模塊12去申請(qǐng)音頻設(shè)備資源,只有申請(qǐng)到了音頻設(shè)備資源的訪問權(quán)限才可以繼續(xù)音頻播放的流程。設(shè)備資源申請(qǐng)模塊12會(huì)向音頻設(shè)備管理模塊13申請(qǐng)可用的音頻設(shè)備資源,而應(yīng)用11申請(qǐng)的資源能否成功,主要是音頻設(shè)備管理模塊13根據(jù)音頻策略配置文件14中定義的音頻策略來決定的。如果應(yīng)用11申請(qǐng)成功,音頻設(shè)備管理模塊13就會(huì)發(fā)消息給音頻服務(wù)15,讓其把此應(yīng)用11建立的音頻數(shù)據(jù)流通道(pipeline)的狀態(tài)改為運(yùn)行態(tài)(running),這時(shí)應(yīng)用11就可以把其當(dāng)前調(diào)用的音視頻文件中的音頻數(shù)據(jù)送到多媒體框架16中進(jìn)行解碼和/或解壓,解碼和/或解壓后的音頻數(shù)據(jù)會(huì)經(jīng)音頻服務(wù)15轉(zhuǎn)成PCM(Pulse Code Modulation,脈沖編碼調(diào)制)數(shù)據(jù)后送到硬件驅(qū)動(dòng)17,由音頻設(shè)備18把PCM數(shù)據(jù)轉(zhuǎn)成模擬信號(hào)輸出。
當(dāng)一應(yīng)用11向音頻設(shè)備管理模塊13申請(qǐng)的音頻設(shè)備資源狀態(tài)發(fā)生改變時(shí),應(yīng)用11會(huì)收到音頻設(shè)備管理模塊13發(fā)送的音頻設(shè)備資源狀態(tài)的消息,如這一應(yīng)用11申請(qǐng)音頻設(shè)備資源成功的消息,或這一應(yīng)用11之前申請(qǐng)成功的音頻設(shè)備資源被高優(yōu)先級(jí)的應(yīng)用搶占等消息。
基于音頻策略配置文件14實(shí)現(xiàn)音頻沖突解決,首先根據(jù)應(yīng)用11發(fā)送的輸出請(qǐng)求信息以及配置文件14中的音頻類型定義確定該應(yīng)用11希望播放的音頻所對(duì)應(yīng)的音頻類型,接著根據(jù)配置文件14中的音頻沖突解決策略對(duì)該音頻類型的輸出優(yōu)先級(jí)和音頻設(shè)備18當(dāng)前正在輸出的音頻類型的輸出優(yōu)先級(jí)進(jìn)行比較,若前者的輸出優(yōu)先級(jí)低于后者的輸出優(yōu)先級(jí),則不允許調(diào)用音頻設(shè)備18輸出應(yīng)用程序所希望播放的音頻,若前者的輸出優(yōu)先級(jí)和后者的輸出優(yōu)先級(jí)相同,則允許調(diào)用音頻設(shè)備18同時(shí)對(duì)二者進(jìn)行輸出,若前者的輸出優(yōu)先級(jí)高于后者的輸出優(yōu)先級(jí),則允許調(diào)用音頻設(shè)備18輸出前者而與此同時(shí)暫停后者的輸出。當(dāng)終端中的音頻系統(tǒng)啟動(dòng)時(shí)(例如智能手機(jī)開機(jī)時(shí)),加載音頻策略配置文件。其中,音頻策略配置文件可以預(yù)先采用人工智能語言生成。在一些實(shí)施例中,用于生成音頻策略配置文件的人工智能語言是Prolog(Programming in Logic)。本領(lǐng)域技術(shù)人員可以理解的是,使用Prolog生成音頻策略配置文件僅僅是一個(gè)優(yōu)選實(shí)施方式,其他現(xiàn)有的人工智能語言也可以用于生成所述配置文件,為了簡(jiǎn)明起見,不再對(duì)現(xiàn)有的人工智能語言一一列舉。
生成配置文件之后,將該配置文件存儲(chǔ)在智能手機(jī)的系統(tǒng)內(nèi)存中。音頻策略配置文件的內(nèi)容中定義了智能手機(jī)的音頻類型和智能手機(jī)的音頻沖突解決策略。其中,所述音頻類型是指智能手機(jī)中涉及到音頻輸出的應(yīng)用的類型。在一些實(shí)施例中,所述音頻類型包括通話、電話鈴聲、信息提醒聲、音樂播放器、視頻播放器、鬧鐘、日歷提醒、游戲和照相機(jī)。本領(lǐng)域技術(shù)人員可以理解的是,根據(jù)智能手機(jī)型號(hào)的不同,其所支持的音頻類型也可能存在不同,為了簡(jiǎn)明起見,在此不再對(duì)所有可能存在的音頻類型進(jìn)行一一列舉。所述音頻沖突解決策略是指當(dāng)兩個(gè)或者兩個(gè)以上音頻類型的輸出發(fā)生沖突時(shí)解決該沖突的策略。在本實(shí)施例中,所述音頻沖突解決策略包括對(duì)智能手機(jī)的所有音頻類型的輸出優(yōu)先級(jí)的定義。也就是說,音頻沖突解決策略規(guī)定了當(dāng)兩個(gè)或者兩個(gè)以上音頻類型的輸出發(fā)生沖突時(shí)哪個(gè)音頻類型應(yīng)該優(yōu)先被輸出。以音頻類型是電話鈴聲和音樂播放器為例進(jìn)行說明,對(duì)于該兩個(gè)音頻類型來說,電話鈴聲的輸出優(yōu)先級(jí)高于音樂播放器的輸出優(yōu)先級(jí),即在電話鈴聲和音樂播放器之間發(fā)生沖突時(shí),暫停音樂播放器而輸出電話鈴聲。本領(lǐng)域技術(shù)人員可以理解的是,不同型號(hào)智能手機(jī)的音頻沖突解決策略可能存在不同,每一型號(hào)的智能手機(jī)的音頻沖突解決策略需要根據(jù)該智能手機(jī)的實(shí)際設(shè)計(jì)需求相應(yīng)進(jìn)行定義。所述音頻設(shè)備的狀態(tài)信息是指該音頻設(shè)備當(dāng)前的工作狀態(tài),即該音頻設(shè)備當(dāng)前是否在進(jìn)行音頻輸出、以及如果是的話該音頻設(shè)備所輸出的音頻類型。
圖2是根據(jù)一示例性實(shí)施方式示出的一種終端的音頻設(shè)備控制方法的流程圖。該方法可用于上述圖1的音頻系統(tǒng)。
如圖2所示,在步驟S11,檢測(cè)一終端的至少一音頻設(shè)備的連接狀態(tài)。
在示例性實(shí)施例中,所述終端包括但不限于安裝了Android、iOS、Symbian、Windows Mobile、Maemo、WebOS、Palm OS或Blackberry OS等移動(dòng)終端操作系統(tǒng)的智能手機(jī)或平板電腦。本領(lǐng)域技術(shù)人員可以理解的,凡是具有音頻輸出功能的電子設(shè)備均包括在本發(fā)明所保護(hù)的范圍內(nèi)。下文中將以智能手機(jī)為例對(duì)本發(fā)明所提供的步驟進(jìn)行說明。
在示例性實(shí)施例中,所述音頻設(shè)備包括喇叭、聽筒、麥克風(fēng)、有線耳機(jī)與藍(lán)牙耳機(jī)等。需要說明的是,本發(fā)明對(duì)此不作限定,所述音頻設(shè)備可以是智能手機(jī)內(nèi)置的或者外置的可以用于輸出音頻的設(shè)備資源。任意音頻設(shè)備均可以通過在系統(tǒng)中添加新的設(shè)備結(jié)點(diǎn)的方式來適用于本發(fā)明實(shí)施例提供的音頻設(shè)備控制方法,例如HDMI(High Definition Multimedia Interface,高清晰度多媒體接口)等其它音頻設(shè)備。
移動(dòng)操作系統(tǒng)的有線耳機(jī)的連接狀態(tài),有一個(gè)專門的設(shè)備結(jié)點(diǎn)文件保存。音頻設(shè)備的連接狀態(tài)都可以在音頻設(shè)備管理模塊中添加設(shè)備結(jié)點(diǎn)的信號(hào)監(jiān)控,如有線耳機(jī)、藍(lán)牙耳機(jī)等。當(dāng)用于檢測(cè)有線耳機(jī)連接狀態(tài)的GPIO(General Purpose Input Output,通用輸入/輸出或總線擴(kuò)展器,利用工業(yè)標(biāo)準(zhǔn)I2C、SMBus或SPI接口簡(jiǎn)化了I/O口的擴(kuò)展)有事件上報(bào)時(shí),此設(shè)備結(jié)點(diǎn)文件的值會(huì)被立即更新,也就意味著系統(tǒng)要進(jìn)行音頻通路的切換。同時(shí),當(dāng)設(shè)備結(jié)點(diǎn)的狀態(tài)發(fā)生改變時(shí),與udev(設(shè)備管理器)相關(guān)的GPIO信號(hào)被音頻設(shè)備管理模塊捕獲。例如,當(dāng)有線耳機(jī)的連接狀態(tài)發(fā)生改變時(shí),驅(qū)動(dòng)程序會(huì)修改有線耳機(jī)設(shè)備結(jié)點(diǎn)的值,音頻設(shè)備管理模塊通過監(jiān)聽GPIO的信號(hào),來判斷是有線耳機(jī)的插入/拔出。
在步驟S12,當(dāng)檢測(cè)到所述至少一音頻設(shè)備的連接狀態(tài)為禁用時(shí),通過解析一音頻策略配置文件輸出一控制信號(hào)。
在示例性實(shí)施例中,所述至少一音頻設(shè)備包括有線耳機(jī),所述終端包括一耳機(jī)接口。其中,當(dāng)所述有線耳機(jī)插入所述耳機(jī)接口時(shí),所述有線耳機(jī)的連接狀態(tài)為使能;當(dāng)所述有線耳機(jī)拔出所述耳機(jī)接口時(shí),所述有線耳機(jī)的連接狀態(tài)為禁用。
在檢測(cè)耳機(jī)插入或者拔出時(shí),耳機(jī)座引腳連接一個(gè)上拉電阻,這樣即可產(chǎn)生一個(gè)信號(hào),表示耳機(jī)或其它外部裝置是否插入插孔。典型連接中,如果有某個(gè)外部裝置插入,檢測(cè)引腳將斷開。當(dāng)檢測(cè)到耳機(jī)拔出時(shí),將該拔出信號(hào)輸送給中央處理單元。當(dāng)耳機(jī)插入時(shí),對(duì)應(yīng)檢測(cè)耳機(jī)插入拔出的GPIO腳被拉低,觸發(fā)外部中斷,驅(qū)動(dòng)接收之后向上層系統(tǒng)音頻服務(wù)發(fā)生耳機(jī)插入的事件。
需要說明的是,本發(fā)明并不以此為限,例如所述音頻設(shè)備可以是一藍(lán)牙耳機(jī),當(dāng)該藍(lán)牙耳機(jī)與智能手機(jī)處于無線通信時(shí),即該智能手機(jī)能夠通過該藍(lán)牙耳機(jī)播放聲音或者錄制音頻時(shí),即可認(rèn)為該藍(lán)牙耳機(jī)的連接狀態(tài)為使能;而將該藍(lán)牙耳機(jī)與該智能手機(jī)之間的無線通信斷開時(shí),則可認(rèn)為該藍(lán)牙耳機(jī)的連接狀態(tài)為禁用。下面均以有線耳機(jī)為例進(jìn)行詳細(xì)說明。
就有線耳機(jī)的連接狀態(tài)來說,就兩種,插入與拔出,其中,有線耳機(jī)插入后,應(yīng)用的行為一般是讓聲音從有線耳機(jī)輸出,這對(duì)應(yīng)用來說沒任何影響,因?yàn)橥返那袚Q由系統(tǒng)完成。但針對(duì)于有線耳機(jī)的拔出,如果應(yīng)用的業(yè)務(wù)需求是讓聲音繼續(xù)從外放出,那這對(duì)應(yīng)用也沒任何影響。但為了個(gè)人隱私的考慮,有些應(yīng)用在有線耳機(jī)拔出的時(shí)候,需要暫停聲音的輸出,此時(shí)就需要關(guān)注有線耳機(jī)的連接狀態(tài)。
由于音頻策略配置文件是由人工智能語言生成的,因此,在加載音頻策略配置文件的過程中需要對(duì)該配置文件進(jìn)行解析以獲得該配置文件的內(nèi)容。
在示例性實(shí)施例中,所述控制信號(hào)可以是當(dāng)檢測(cè)到所述有線耳機(jī)拔出時(shí),解析所述音頻策略配置文件后輸出的當(dāng)前播放或者錄制音視頻文件的應(yīng)用失去訪問該有線耳機(jī)資源權(quán)限的信號(hào)(lostResources)。
在步驟S13,根據(jù)所述控制信號(hào)實(shí)現(xiàn)所述終端當(dāng)前播放或者錄制的音視頻文件以預(yù)設(shè)方式處理。
在示例性實(shí)施例中,所述預(yù)設(shè)方式包括:將所述終端當(dāng)前播放的音視頻文件設(shè)置成靜音;或者調(diào)低所述終端當(dāng)前播放的音視頻文件的音量;或者暫停所述終端當(dāng)前播放的音視頻文件;或者釋放所述終端當(dāng)前錄制的音視頻文件所占用的資源。
在一些實(shí)施例中,當(dāng)有線耳機(jī)拔出時(shí),可以通過所述音頻策略配置文件及智能手機(jī)中該應(yīng)用的工作狀態(tài)(例如播放或者錄制音頻),選擇相應(yīng)的處理方式。例如,當(dāng)該應(yīng)用處于通過有線耳機(jī)播放聲音的狀態(tài)時(shí),如果此時(shí)檢測(cè)到有線耳機(jī)拔出的連接狀態(tài),則可以讓該應(yīng)用暫停播放,或者讓該應(yīng)用以靜音方式繼續(xù)播放,或者讓該應(yīng)用以調(diào)低音量方式繼續(xù)播放;當(dāng)該應(yīng)用處于通過有線耳機(jī)錄制聲音的狀態(tài)時(shí),如果此時(shí)檢測(cè)到有線耳機(jī)拔出的連接狀態(tài),則可以讓該應(yīng)用釋放其所占用的資源,退出對(duì)應(yīng)的音頻錄制流。
在一些實(shí)施例中,所述調(diào)低后的輸出音量為一預(yù)設(shè)值。
本發(fā)明實(shí)施方式提供的終端的音頻設(shè)備控制方法,利用移動(dòng)操作系統(tǒng)的音頻設(shè)備管理模塊,當(dāng)音頻設(shè)備管理模塊檢測(cè)到有線耳機(jī)斷開時(shí),由音頻設(shè)備管理模塊直接執(zhí)行讓應(yīng)用失去訪問音頻設(shè)備資源權(quán)限的邏輯流程,即暫停應(yīng)用聲音的播放,使得應(yīng)用無需關(guān)注失去訪問音頻設(shè)備資源到底是哪種具體的音頻設(shè)備。
圖3以智能手機(jī)的有線耳機(jī)拔出時(shí)的控制方法實(shí)現(xiàn)的框架為例進(jìn)行說明。
如圖3所示,該框架20包括應(yīng)用11、音頻設(shè)備管理模塊13、音頻服務(wù)(PulseAudio)15、多媒體框架(Gstreamer)16、硬件驅(qū)動(dòng)(ALSA)17,此外還包括多媒體模塊21、第一接口22、設(shè)備管理器23以及策略執(zhí)行插件(PA(PulseAudio)Policy Enforcement)24。
其中多媒體模塊21例如可以是QtMultimedia,微信、VOIP,瀏覽器在線播放的應(yīng)用等。下面的實(shí)施例中均以QtMultimedia為例進(jìn)行說明。
QtMultimedia是Qt4.6提出來的一個(gè)音頻和視頻的新底層。目的是針對(duì)開發(fā)者提供更加完全的視頻和音頻控制,同時(shí)不損失平臺(tái)無關(guān)性的優(yōu)點(diǎn)。在Qt4.6中新加入了QtMultimedia模塊來提供一些底層的多媒體功能,比如音頻的采集和回放、頻譜分析、操作視頻幀等。在QtMultimedia模塊中與音頻控制相關(guān)的類有QAudioFormat、QAudioDeviceInfo、QAudioInput和QAudioOutput。其中,QAudioFormat類用來存儲(chǔ)音頻參數(shù)信息,音頻格式指定了一個(gè)音頻流中的數(shù)據(jù)怎樣被排列,可以在音頻流上使用codec()來指定編碼。除了編碼,QAudioFormat還包含了頻率、聲道數(shù)量、樣本大小、樣本類型和字節(jié)順序等參數(shù)。
其中第一接口22例如可以是Libresoureqt接口,其用于將音頻設(shè)備管理模塊13進(jìn)行封裝成一個(gè)對(duì)外的統(tǒng)一接口,便于不同的應(yīng)用調(diào)用以實(shí)現(xiàn)本發(fā)明的功能。
其中設(shè)備管理23例如可以是udev。
udev是Linux kernel 2.6系列的設(shè)備管理器。它主要的功能是管理/dev目錄底下的設(shè)備節(jié)點(diǎn)。它同時(shí)也是用來接替devfs及熱插拔的功能,這意味著它要在添加/刪除硬件時(shí)處理/dev目錄以及所有用戶空間的行為,包括加載固件時(shí)Linux 2.6.13內(nèi)核。Linux傳統(tǒng)上使用靜態(tài)設(shè)備創(chuàng)建方法,因此大量設(shè)備節(jié)點(diǎn)在/dev下創(chuàng)建(有時(shí)上千個(gè)),而不管相應(yīng)的硬件設(shè)備是否真正存在。通常這由一個(gè)MAKEDEV腳本實(shí)現(xiàn),這個(gè)腳本包含了許多通過每一個(gè)可能存在的設(shè)備相關(guān)的主設(shè)備號(hào)和次設(shè)備號(hào)對(duì)mknod程序的調(diào)用。采用udev的方法,只有被內(nèi)核檢測(cè)到的設(shè)備才會(huì)獲取為它們創(chuàng)建的設(shè)備節(jié)點(diǎn)。因?yàn)檫@些設(shè)備節(jié)點(diǎn)在每次系統(tǒng)啟動(dòng)時(shí)被創(chuàng)建,他們會(huì)被貯存在ramfs(一個(gè)內(nèi)存中的文件系統(tǒng),不占用任何磁盤空間)。
其中策略執(zhí)行插件24,用于音頻服務(wù)15和音頻設(shè)備管理模塊13之間的通信。
當(dāng)音頻設(shè)備管理模塊13通過udev 23監(jiān)測(cè)到有線耳機(jī)拔出,將其狀態(tài)更新結(jié)果通知至Libresoureqt接口22中,然后讓QtMultimedia 21做相應(yīng)的處理邏輯。在一些實(shí)施例中,針對(duì)有線耳機(jī)的連接狀態(tài),只有有線耳機(jī)拔出時(shí),才會(huì)通知到Libresoureqt接口22,因?yàn)橛芯€耳機(jī)插入時(shí),應(yīng)用的聲音還是繼續(xù)播放,此種場(chǎng)景對(duì)應(yīng)用沒有影響。當(dāng)QtMultimedia 21收到失去訪問音頻設(shè)備資源權(quán)限的信號(hào)lostResources時(shí),QtMultimedia21會(huì)調(diào)用暫停聲音播放的接口,從而實(shí)現(xiàn)暫停應(yīng)用的聲音。一般只有耳機(jī)的拔出才會(huì)引起應(yīng)用的音頻資源的改變,并通過PA Policy Enforcement24接收音頻設(shè)備管理模塊13發(fā)送的音頻通路切換信號(hào),調(diào)用PulseAudio15接口實(shí)現(xiàn)音頻通路的切換。
本發(fā)明實(shí)施方式基于移動(dòng)操作系統(tǒng)的音頻策略框架,利用移動(dòng)操作系統(tǒng)已有的模塊來管理有線耳機(jī)的連接狀態(tài),并讓應(yīng)用響應(yīng)和執(zhí)行相應(yīng)的音頻策略。讓應(yīng)用既可以實(shí)現(xiàn)有線耳機(jī)拔出后的定制需求,同時(shí)又無需應(yīng)用去關(guān)注有線耳機(jī)的連接狀態(tài)。
圖4是根據(jù)一示例性實(shí)施方式示出的另一種終端的有線耳機(jī)拔出時(shí)的控制方法實(shí)現(xiàn)的框架圖。
如圖4所示,該框架30包括應(yīng)用11、音頻設(shè)備管理模塊13、音頻服務(wù)(PulseAudio)15、多媒體框架(Gstreamer)16、硬件驅(qū)動(dòng)17,還包括多媒體模塊(QtMultimedia)21、第一接口(Libresourceqt)22、設(shè)備管理器23以及策略執(zhí)行插件(PA Policy Enforcement)24。
其中所述音頻設(shè)備管理模塊13進(jìn)一步包括:適配插件(Accessories Plugin)131、規(guī)則引擎(Rule engine)132、資源插件(Resource Plugin)133以及信號(hào)插件(Signaling Plugin)134。
其中適配插件131是音頻設(shè)備的適配插件,如可以訪問有線耳機(jī)的設(shè)備結(jié)點(diǎn),藍(lán)牙耳機(jī)的設(shè)備結(jié)點(diǎn)等,其會(huì)把音頻設(shè)備的連接狀態(tài)的變化,通過調(diào)用規(guī)則引擎132中的接口更新到規(guī)則引擎132的數(shù)據(jù)庫中。
其中規(guī)則引擎132是音頻策略配置文件中的腳本文件.pl和.des的解析模塊,主要解析用Prolog人工智能語言定義的音頻策略腳本。其解析的結(jié)果會(huì)更新到自己的數(shù)據(jù)庫中,資源插件133會(huì)監(jiān)聽此數(shù)據(jù)庫的更新,然后進(jìn)行音頻設(shè)備資源的申請(qǐng)/釋放等邏輯。
這里的.pl和.des腳本都是Prolog語言使用的文件,.pl腳本文件一般用于音頻策略規(guī)則的配置,.des腳本文件用于方便.pl腳本文件可以被系統(tǒng)中的C語言代碼進(jìn)行相互調(diào)用。
其中資源插件133是音頻設(shè)備的資源插件,主要進(jìn)行音頻設(shè)備資源的注冊(cè)、申請(qǐng)、釋放等操作,并把結(jié)果通過Dbus消息通知Libresourceqt接口22。
Dbus是一種高級(jí)的進(jìn)程間通信機(jī)制,它由freedesktop.org項(xiàng)目提供,使用GPL許可證發(fā)行。Dbus最主要的用途是在Linux桌面環(huán)境為進(jìn)程提供通信,同時(shí)能將Linux桌面環(huán)境和Linux內(nèi)核事件作為消息傳遞到進(jìn)程。Dbus的主要概念為總線,注冊(cè)后的進(jìn)程可通過總線接收或傳遞消息,進(jìn)程也可注冊(cè)后等待內(nèi)核事件響應(yīng),例如等待網(wǎng)絡(luò)狀態(tài)的轉(zhuǎn)變或者計(jì)算機(jī)發(fā)出關(guān)機(jī)指令。目前,Dbus已被大多數(shù)Linux發(fā)行版所采用,開發(fā)者可使用D-Bus實(shí)現(xiàn)各種復(fù)雜的進(jìn)程間通信任務(wù)。
其中信號(hào)插件134是Dbus信號(hào)的發(fā)送插件,主要是封裝了Dbus接口給.des腳本使用,讓.des腳本可以通過其接口向PA Policy Enforcement發(fā)送Dbus消息。.des的腳本中也把結(jié)果直接通過信號(hào)插件134的接口廣播Dbus消息。
其中策略執(zhí)行插件24是音頻服務(wù)15的一個(gè)插件,可以稱為音頻服務(wù)的策略執(zhí)行插件,專門用以音頻設(shè)備管理模塊13與音頻服務(wù)15之間的消息通信,策略執(zhí)行插件24可以接收音頻設(shè)備管理模塊13發(fā)送的Dbus信號(hào),然后再調(diào)用音頻服務(wù)15的接口進(jìn)行具體的業(yè)務(wù)邏輯。
在上述圖2所示的步驟S13,根據(jù)所述控制信號(hào)實(shí)現(xiàn)所述終端當(dāng)前播放或者錄制的音視頻文件以預(yù)設(shè)方式處理包括:
通過資源插件資源插件133將所述控制信號(hào)以Dbus信號(hào)廣播至第一接口Libresourceqt 22;
所述第一接口Libresourceqt 22接收所述Dbus信號(hào)并發(fā)送至多媒體模塊QtMultimedia 21;
所述多媒體模塊QtMultimedia 21經(jīng)過相應(yīng)的處理邏輯后將所述Dbus信號(hào)發(fā)送至多媒體框架16;
所述多媒體框架16根據(jù)所述Dbus信號(hào)以所述預(yù)設(shè)方式處理所述終端當(dāng)前播放或者錄制的音視頻文件的音頻數(shù)據(jù)流。
拔出有線耳機(jī)的邏輯比插入的要復(fù)雜些,因其不僅涉及音頻通路的切換,還有音頻資源的處理。適配插件131讀取有線耳機(jī)設(shè)備結(jié)點(diǎn)的邏輯,例如其取出來的值為0代表有線耳機(jī)拔出(設(shè)備結(jié)點(diǎn)的值為1代表有線耳機(jī)插入,或者反之亦可)。再經(jīng)由規(guī)則引擎132,先把當(dāng)前應(yīng)用所獲得的音頻資源收回,讓Libresourceqt 22向QtMultimedia 21發(fā)送lostResources的信號(hào),QtMultimedia 21根據(jù)應(yīng)用的類型,如果是音頻的播放,則會(huì)暫停多媒體框架16的通道(pipeline),音頻服務(wù)15就會(huì)暫停對(duì)應(yīng)的音頻播放流;如果是音頻的錄制,則會(huì)釋放多媒體框架16的pipeline,音頻服務(wù)15就會(huì)退出對(duì)應(yīng)的音頻錄制流。
在示例性實(shí)施例中,在圖2所示的控制方法還可以包括:所述多媒體模塊QtMultimedia 21經(jīng)過相應(yīng)的處理邏輯后將所述控制信號(hào)發(fā)送至所述終端中的一應(yīng)用,所述應(yīng)用調(diào)用所述終端當(dāng)前播放或者錄制的音視頻文件;所述應(yīng)用根據(jù)所述控制信號(hào)相應(yīng)的改變其用戶界面。
例如,當(dāng)智能手機(jī)中當(dāng)前正在播放音視頻文件的應(yīng)用接收到QtMultimedia發(fā)送的失去訪問有線耳機(jī)資源權(quán)限的信號(hào)后,該應(yīng)用將其用戶界面上的正在播放的圖表改變?yōu)闀和D標(biāo)或者靜音圖標(biāo)等,以便于用戶直接觀察到當(dāng)前音視頻的播放狀態(tài)。
在示例性實(shí)施例中,在圖2所示的控制方法還可以包括:
根據(jù)所述有線耳機(jī)的連接狀態(tài)解析所述音頻策略配置文件,并輸出一音頻通路切換信號(hào);
根據(jù)所述音頻通路切換信號(hào)實(shí)現(xiàn)音頻通路切換。
在示例性實(shí)施例中,根據(jù)所述音頻通路切換信號(hào)實(shí)現(xiàn)音頻通路切換包括:
通過所述音頻設(shè)備管理模塊13的信號(hào)插件134將所述音頻通路切換信號(hào)以一Dbus消息廣播;
通過策略執(zhí)行插件24接收所述Dbus消息,調(diào)用音頻服務(wù)15接口進(jìn)行音頻通路的切換。
本發(fā)明實(shí)施方式由于音頻外設(shè)的管理是基于應(yīng)用適配了音頻策略的業(yè)務(wù)處理邏輯,實(shí)際也是通過音頻資源的管理來同步應(yīng)用的狀態(tài),使得音頻外設(shè)的管理也可以看成是音頻資源的管理,簡(jiǎn)化了應(yīng)用的邏輯,使得應(yīng)用可以不用關(guān)注音頻外設(shè)連接狀態(tài)的改變,在不影響功能的前提下,簡(jiǎn)化了應(yīng)用開發(fā)過程中有線耳機(jī)插拔相關(guān)的代碼邏輯。
下述為本發(fā)明系統(tǒng)實(shí)施例,可以用于執(zhí)行本發(fā)明方法實(shí)施例。對(duì)于本發(fā)明系統(tǒng)實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本發(fā)明方法實(shí)施例。
圖5是根據(jù)一示例性實(shí)施方式示出的一種終端的音頻設(shè)備控制系統(tǒng)的框圖。
如圖5所示,該系統(tǒng)40包括檢測(cè)模塊41、解析模塊42以及處理模塊43。
其中檢測(cè)模塊41用于檢測(cè)一終端的至少一音頻設(shè)備的連接狀態(tài)。
其中解析模塊42用于當(dāng)檢測(cè)到所述至少一音頻設(shè)備的連接狀態(tài)為禁用時(shí),通過解析一音頻策略配置文件輸出一控制信號(hào)。
其中處理模塊43用于根據(jù)所述控制信號(hào)實(shí)現(xiàn)所述終端當(dāng)前播放或者錄制的音視頻文件以預(yù)設(shè)方式處理。
基于音頻策略配置文件實(shí)現(xiàn)音頻沖突解決,通過配置文件來定義音頻類型和定義音頻沖突解決策略以及通過計(jì)算機(jī)程序語言實(shí)現(xiàn)音頻設(shè)備的調(diào)用,從而使得音頻類型定義和音頻沖突解決策略定義的實(shí)現(xiàn)與音頻設(shè)備調(diào)用的實(shí)現(xiàn)分開。由于通過配置文件來實(shí)現(xiàn)音頻類型的定義和音頻沖突解決策略的定義,因此需要解析模塊42對(duì)配置文件進(jìn)行解析,該解析模塊可以獨(dú)立地應(yīng)用于其他具有類似需求的音頻系統(tǒng)中,從而便于在音頻沖突解決策略不同、音頻類型不同、音頻設(shè)備不同的音頻系統(tǒng)之間進(jìn)行移植,進(jìn)而可以有效地簡(jiǎn)化音頻系統(tǒng)的實(shí)現(xiàn)。
在示例性實(shí)施例中,處理模塊43包括:一資源插件,所述資源插件連接所述解析模塊43;一第一接口,用于接收所述資源插件廣播的所述控制信號(hào);一多媒體模塊,用于接收所述第一接口發(fā)送的所述控制信號(hào),并對(duì)所述控制信號(hào)進(jìn)行相應(yīng)的處理邏輯;一多媒體框架,用于根據(jù)所述控制信號(hào)以所述預(yù)設(shè)方式處理所述終端當(dāng)前播放或者錄制的音視頻文件的音頻數(shù)據(jù)流。
在示例性實(shí)施例中,該系統(tǒng)40還包括:通路切換模塊,所述通路切換模塊連接所述解析模塊42;其中所述解析模塊42根據(jù)所述至少一音頻設(shè)備的連接狀態(tài)解析所述音頻策略配置文件,并輸出一音頻通路切換信號(hào);所述通路切換模塊根據(jù)所述音頻通路切換信號(hào)實(shí)現(xiàn)所述至少一音頻設(shè)備的音頻通路切換。
根據(jù)本公開的一示例性實(shí)施方式,提供一種移動(dòng)終端,包括:處理器;用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;其中,所述處理器被配置為:檢測(cè)所述移動(dòng)終端的至少一音頻設(shè)備的連接狀態(tài);當(dāng)檢測(cè)到所述至少一音頻設(shè)備的連接狀態(tài)為禁用時(shí),通過解析一音頻策略配置文件輸出一控制信號(hào);根據(jù)所述控制信號(hào)實(shí)現(xiàn)所述移動(dòng)終端當(dāng)前播放或者錄制的音視頻文件以預(yù)設(shè)方式處理。
圖6是根據(jù)一示例性實(shí)施方式示出的一種用于實(shí)現(xiàn)音頻設(shè)備控制方法的移動(dòng)終端的框圖。圖6示意性地示出了所述移動(dòng)終端的常見結(jié)構(gòu),參考圖6對(duì)常見的移動(dòng)終端的內(nèi)部組件、軟件和協(xié)議結(jié)構(gòu)進(jìn)行說明。
該移動(dòng)終端具有處理器610,其負(fù)責(zé)移動(dòng)終端的整體操作,并且可以利用任何商業(yè)可得中央處理單元、數(shù)字信號(hào)處理器或任何其他電子可編程邏輯器件實(shí)現(xiàn)。處理器610具有關(guān)聯(lián)的存儲(chǔ)器620,該存儲(chǔ)器620包括但不限于RAM存儲(chǔ)器、ROM存儲(chǔ)器、EEPROM存儲(chǔ)器、閃存或其組合。存儲(chǔ)器620由處理器600控制用于各種目的,其中之一在于為移動(dòng)終端中各種軟件存儲(chǔ)程序指令和數(shù)據(jù)。
該移動(dòng)終端的軟件層面包括實(shí)時(shí)操作系統(tǒng)640、用于人機(jī)界面660的驅(qū)動(dòng)器、應(yīng)用處理機(jī)650和各種應(yīng)用。所述應(yīng)用例如是文本編輯器651、手寫識(shí)別應(yīng)用652和各種其他多媒體應(yīng)用653,典型地該其他多媒體應(yīng)用包括諸如語音呼叫應(yīng)用、視頻呼叫應(yīng)用、發(fā)送和接收短消息服務(wù)(SMS)消息應(yīng)用、多媒體消息服務(wù)(MMS)應(yīng)用或電子郵件應(yīng)用、web瀏覽器、即時(shí)消息收發(fā)應(yīng)用、電話簿應(yīng)用、日歷應(yīng)用、控制面板應(yīng)用、照相機(jī)應(yīng)用、一個(gè)或多個(gè)視頻游戲、記事本應(yīng)用等。應(yīng)當(dāng)注意,上述應(yīng)用的兩個(gè)或更多可以作為同一應(yīng)用執(zhí)行。
所述移動(dòng)終端還包括一個(gè)或多個(gè)硬件控制器,用于與人機(jī)界面660的驅(qū)動(dòng)器一起與顯示設(shè)備661,物理按鍵662、麥克風(fēng)663和各種其他I/O設(shè)備(諸如揚(yáng)聲器、振動(dòng)器、響鈴發(fā)生器、LED指示器等)協(xié)作,以實(shí)現(xiàn)所述移動(dòng)終端的人機(jī)交互。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解用戶可以通過這樣形成的人機(jī)界面660來操作移動(dòng)終端。
該移動(dòng)終端的軟件層面還可以包括各種模塊、協(xié)議棧、驅(qū)動(dòng)器等與通信相關(guān)的邏輯,歸納為如圖6中示出的通信接口670,用于為無線射頻接口671以及可選地為藍(lán)牙接口672和/或紅外接口673提供通信服務(wù)(例如傳輸、網(wǎng)絡(luò)和連通性),以實(shí)現(xiàn)所述移動(dòng)終端的網(wǎng)絡(luò)連通性。無線射頻接口671包括內(nèi)部或外部天線以及用于建立和維護(hù)通往基站的無線鏈路的適當(dāng)無線電電路。如本領(lǐng)域技術(shù)人員公知的,所述無線電電路包括一系列模擬和數(shù)字電子組件,其一起形成無線電接收機(jī)和發(fā)射機(jī)。這些組件例如包括帶通濾波器、放大器、混頻器、本地振蕩器、低通濾波器、AD/DA轉(zhuǎn)換器等。
移動(dòng)通信終端還可以包括讀卡裝置630,該讀卡裝置630通常包括處理器以及數(shù)據(jù)存儲(chǔ)器等,用于讀出SIM卡的信息并以此為根據(jù)協(xié)作無線射頻接口617接入運(yùn)營(yíng)商所提供的網(wǎng)絡(luò)。
本領(lǐng)域技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施方式的全部或部分步驟被實(shí)現(xiàn)為由CPU執(zhí)行的計(jì)算機(jī)程序。在該計(jì)算機(jī)程序被CPU執(zhí)行時(shí),執(zhí)行本發(fā)明提供的上述方法所限定的上述功能。所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
此外,需要注意的是,上述附圖僅是根據(jù)本發(fā)明示例性實(shí)施方式的方法所包括的處理的示意性說明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時(shí)間順序。另外,也易于理解,這些處理可以是例如在多個(gè)模塊中同步或異步執(zhí)行的。
需要注意的是,上述附圖中所示的框圖是功能實(shí)體,不一定必須與物理或邏輯上獨(dú)立的實(shí)體相對(duì)應(yīng)??梢圆捎密浖问絹韺?shí)現(xiàn)這些功能實(shí)體,或在一個(gè)或多個(gè)硬件模塊或集成電路中實(shí)現(xiàn)這些功能實(shí)體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實(shí)現(xiàn)這些功能實(shí)體。
本發(fā)明提供的終端的音頻設(shè)備控制方法、系統(tǒng)及移動(dòng)終端,通過利用移動(dòng)操作系統(tǒng)的現(xiàn)有音頻策略框架,讓應(yīng)用程序既可以實(shí)現(xiàn)有線耳機(jī)拔出后的定制需求,同時(shí)又無需應(yīng)用去關(guān)注有線耳機(jī)的連接狀態(tài),無需讓應(yīng)用增加額外的代碼邏輯。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過軟件實(shí)現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實(shí)現(xiàn)。因此,根據(jù)本發(fā)明實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM,U盤,移動(dòng)硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、移動(dòng)終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本發(fā)明實(shí)施方式的方法。
以上具體地示出和描述了本發(fā)明的示例性實(shí)施方式。應(yīng)可理解的是,本發(fā)明不限于這里描述的詳細(xì)結(jié)構(gòu)、設(shè)置方式或?qū)崿F(xiàn)方法;相反,本發(fā)明意圖涵蓋包含在所附權(quán)利要求的精神和范圍內(nèi)的各種修改和等效設(shè)置。