欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種藍(lán)牙音箱實(shí)現(xiàn)方法和系統(tǒng)與流程

文檔序號(hào):12810342閱讀:843來源:國知局
一種藍(lán)牙音箱實(shí)現(xiàn)方法和系統(tǒng)與流程

本發(fā)明涉及藍(lán)牙應(yīng)用技術(shù)領(lǐng)域,具體而言,涉及一種藍(lán)牙音箱實(shí)現(xiàn)方法和系統(tǒng)。



背景技術(shù):

基于android系統(tǒng)的藍(lán)牙音頻系統(tǒng)一般為source和sink兩種模式,其中,當(dāng)設(shè)備處于sink模式時(shí),可以接收來自手機(jī)等終端設(shè)備source端的音頻數(shù)據(jù),從而實(shí)現(xiàn)藍(lán)牙音箱的功能。經(jīng)發(fā)明人研究發(fā)現(xiàn),現(xiàn)有的android藍(lán)牙開機(jī)初始化流程較多,耗時(shí)較長,且在終端設(shè)備作為單純藍(lán)牙音箱的場景時(shí),還需要等待android啟動(dòng)完藍(lán)牙的相關(guān)服務(wù)后才能進(jìn)入,導(dǎo)致用戶等待時(shí)間較長,體驗(yàn)較差。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供一種藍(lán)牙音箱實(shí)現(xiàn)方法和系統(tǒng),能夠有效縮短開機(jī)過程中藍(lán)牙音箱模式的準(zhǔn)備時(shí)間,提升用戶體驗(yàn)。

本發(fā)明較佳實(shí)施例提供一種藍(lán)牙音箱實(shí)現(xiàn)方法,應(yīng)用于與第一終端通信連接的藍(lán)牙音箱中,所述方法包括以下步驟:

啟動(dòng)所述藍(lán)牙音箱,確認(rèn)該藍(lán)牙音箱為sink端;

通過init進(jìn)程啟動(dòng)native藍(lán)牙服務(wù)程序;

所述native藍(lán)牙服務(wù)程序控制加載藍(lán)牙協(xié)議棧,并對a2dpsink協(xié)議初始化,使得藍(lán)牙音箱配置為被發(fā)現(xiàn)狀態(tài)。

在本發(fā)明較佳實(shí)施例的選擇中,所述方法還包括:

確認(rèn)所述第一終端為source端,獲取該source端的第一設(shè)備參數(shù)并保存;

根據(jù)所述第一設(shè)備參數(shù)建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。

在本發(fā)明較佳實(shí)施例的選擇中,所述方法還包括:

所述sink端接收所述source端發(fā)送的音頻數(shù)據(jù),并發(fā)送給所述native藍(lán)牙服務(wù)程序;

所述native藍(lán)牙服務(wù)程序?qū)邮盏降囊纛l數(shù)據(jù)進(jìn)行重采樣,將重采樣的音頻數(shù)據(jù)寫入揚(yáng)聲器對應(yīng)的聲卡中進(jìn)行音頻播放。

在本發(fā)明較佳實(shí)施例的選擇中,當(dāng)所述藍(lán)牙音箱再次啟動(dòng)時(shí),所述方法還包括:

確認(rèn)第二終端為source端,獲取該source端的第二設(shè)備參數(shù);

判斷所述sink端的配對歷史記錄列表中是否包括所述第二設(shè)備參數(shù),若包括,則直接建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。

在本發(fā)明較佳實(shí)施例的選擇中,所述通過init進(jìn)程啟動(dòng)native藍(lán)牙服務(wù)程序的步驟包括:

創(chuàng)建一個(gè)采用c代碼編譯的native藍(lán)牙服務(wù)程序;

在android系統(tǒng)根目錄下的init.rc中注冊一個(gè)藍(lán)牙服務(wù),當(dāng)init進(jìn)程解析rc文件時(shí)啟動(dòng)native藍(lán)牙服務(wù)程序。

本發(fā)明較佳實(shí)施例還提供一種藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng),應(yīng)用于與第一終端通信連接的藍(lán)牙音箱中,所述藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)包括:

第一啟動(dòng)模塊,用于啟動(dòng)所述藍(lán)牙音箱,確認(rèn)該藍(lán)牙音箱為sink端;

第二啟動(dòng)模塊,用于通過init進(jìn)程啟動(dòng)native藍(lán)牙服務(wù)程序;

初始化模塊,用于所述native藍(lán)牙服務(wù)程序控制加載藍(lán)牙協(xié)議棧,并對a2dpsink協(xié)議初始化,使得藍(lán)牙音箱配置為被發(fā)現(xiàn)狀態(tài)。

在本發(fā)明較佳實(shí)施例的選擇中,所述藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)還包括:

參數(shù)獲取模塊,用于確認(rèn)所述第一終端為source端,獲取該source端的第一設(shè)備參數(shù)并保存;

鏈路建立模塊,用于根據(jù)所述第一設(shè)備參數(shù)建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。

在本發(fā)明較佳實(shí)施例的選擇中,所述藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)還包括:

接收模塊,用于所述sink端接收所述source端發(fā)送的音頻數(shù)據(jù),并發(fā)送給所述native藍(lán)牙服務(wù)程序

音頻播放模塊,用于所述native藍(lán)牙服務(wù)程序?qū)邮盏降囊纛l數(shù)據(jù)進(jìn)行重采樣,將重采樣的音頻數(shù)據(jù)寫入揚(yáng)聲器對應(yīng)的聲卡中進(jìn)行音頻播放。

在本發(fā)明較佳實(shí)施例的選擇中,所述參數(shù)獲取模塊還用于確認(rèn)第二終端為source端,獲取該source端的第二設(shè)備參數(shù);

所述藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)還包括:

判斷模塊,用于判斷所述sink端的配對歷史記錄列表中是否包括所述第二設(shè)備參數(shù),若包括,則直接建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。

在本發(fā)明較佳實(shí)施例的選擇中,所述第二啟動(dòng)模塊包括:

創(chuàng)建子模塊,用于創(chuàng)建一個(gè)采用c代碼編譯的native藍(lán)牙服務(wù)程序;

啟動(dòng)子模塊,用于在android系統(tǒng)根目錄下的init.rc中注冊一個(gè)藍(lán)牙服務(wù),當(dāng)init進(jìn)程解析rc文件時(shí)啟動(dòng)native藍(lán)牙服務(wù)程序。

與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例提供的藍(lán)牙音箱實(shí)現(xiàn)方法和系統(tǒng),通過init進(jìn)程直接啟動(dòng)藍(lán)牙音箱中的native藍(lán)牙服務(wù)程序,有效加快了開機(jī)過程中藍(lán)牙音箱模式的準(zhǔn)備時(shí)間,提升用戶體驗(yàn)。

進(jìn)一步地,本發(fā)明給出的藍(lán)牙音箱實(shí)現(xiàn)方法在進(jìn)行音頻數(shù)據(jù)傳輸時(shí),可將接收到的音頻數(shù)據(jù)直接寫入揚(yáng)聲器對應(yīng)的聲卡中,有效避免了音頻播放過程中的延遲。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。

圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)的藍(lán)牙音箱的方框結(jié)構(gòu)示意圖。

圖2為本發(fā)明實(shí)施例提供的一種藍(lán)牙音箱實(shí)現(xiàn)方法的流程示意圖。

圖3為圖2所示的步驟s102的子流程示意圖。

圖4為本發(fā)明實(shí)施例提供的一種藍(lán)牙音箱實(shí)現(xiàn)方法的另一流程示意圖。

圖5為本發(fā)明實(shí)施例提供的一種藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)的方框示意圖。

圖6為圖5所示的第二啟動(dòng)模塊的子模塊方框示意圖。

圖標(biāo):10-藍(lán)牙音箱;100-藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng);101-第一啟動(dòng)模塊;102-第二啟動(dòng)模塊;1020-創(chuàng)建子模塊;1022-啟動(dòng)子模塊;104-初始化模塊;106-參數(shù)獲取模塊;108-鏈路建立模塊;110-接收模塊;112-音頻播放模塊;114-判斷模塊;200-存儲(chǔ)器;300-存儲(chǔ)控制器;400-處理器。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。

因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。

如圖1所示,為本發(fā)明實(shí)施例提供的一種應(yīng)用藍(lán)牙音箱實(shí)現(xiàn)方法和系統(tǒng)的藍(lán)牙音箱10的方框結(jié)構(gòu)示意圖。所述藍(lán)牙音箱10包括藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)100、存儲(chǔ)器200、存儲(chǔ)控制器300以及處理器400。

其中,所述存儲(chǔ)器200、存儲(chǔ)控制器300、處理器400各元件相互之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件之間通過一條或多條通訊總線或信號(hào)線實(shí)現(xiàn)電性連接。所述藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)100包括至少一個(gè)可以軟件或固件的形式存儲(chǔ)于所述存儲(chǔ)器200中或固化在所述藍(lán)牙音箱10的操作系統(tǒng)中的軟件功能模塊。所述處理器400在所述存儲(chǔ)控制器300的控制下訪問所述存儲(chǔ)器200,以用于執(zhí)行所述存儲(chǔ)器200中存儲(chǔ)的可執(zhí)行模塊,例如,所述藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)100所包括的軟件功能模塊及計(jì)算機(jī)程序等。

可以理解,圖1所示的結(jié)構(gòu)僅為示意,所述藍(lán)牙音箱10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1中所示的各組件可以采用硬件、軟件或其組合實(shí)現(xiàn)。

請結(jié)合參閱圖2,本發(fā)明實(shí)施例還提供一種可應(yīng)用于所述藍(lán)牙音箱10的藍(lán)牙音箱實(shí)現(xiàn)方法流程示意圖,所應(yīng)說明的是,本發(fā)明提供的方法不以圖2及以下所述的具體順序?yàn)橄拗?,下面將對圖2所示的具體流程進(jìn)行詳細(xì)闡述。

步驟s102,啟動(dòng)所述藍(lán)牙音箱10,確認(rèn)該藍(lán)牙音箱10為sink端。

在本實(shí)施例中,所述藍(lán)牙音箱10的操作系統(tǒng)采用android系統(tǒng),所述藍(lán)牙音箱10在接收并響應(yīng)用戶通過點(diǎn)擊該藍(lán)牙音箱10的開機(jī)鍵或者通過遙控器發(fā)送的開機(jī)啟動(dòng)指令,以啟動(dòng)該藍(lán)牙音箱10。其中,啟動(dòng)所述藍(lán)牙音箱10的具體方式可以根據(jù)需要進(jìn)行設(shè)定,本實(shí)施例對此不做限制。

進(jìn)一步地,在基于android系統(tǒng)的藍(lán)牙音頻傳輸模型協(xié)議a2dp中定義了兩種音頻設(shè)備,一種是source端,另一種是sink端,其中,所述sink端作為接收端以接收所述source端發(fā)送的音頻信息。在本實(shí)施例中,所述藍(lán)牙音箱10作為該a2dp中的sink端。

步驟s102,通過init進(jìn)程啟動(dòng)native藍(lán)牙服務(wù)程序。

具體地,請參閱圖3,在本實(shí)施例中,上述步驟s104可以包括步驟s1040和步驟s1042兩個(gè)步驟,具體如下。

步驟s1020,創(chuàng)建一個(gè)采用c代碼編譯的native藍(lán)牙服務(wù)程序。

步驟s1022,在android系統(tǒng)根目錄下的init.rc中注冊一個(gè)藍(lán)牙服務(wù)。當(dāng)init進(jìn)程解析rc文件時(shí)啟動(dòng)native藍(lán)牙服務(wù)程序。

在本實(shí)施例中,當(dāng)所述藍(lán)牙音箱10開啟后,需創(chuàng)建一個(gè)native藍(lán)牙服務(wù)程序。由于android系統(tǒng)啟動(dòng)初期完全運(yùn)行c代碼,為了提前實(shí)現(xiàn)對藍(lán)牙設(shè)備的支持,本實(shí)施例使用c代碼編譯native藍(lán)牙服務(wù)程序。其中,在init.rc文件中注冊該服務(wù),當(dāng)init進(jìn)程啟動(dòng)后,用fork函數(shù)創(chuàng)建native藍(lán)牙服務(wù)程序,該進(jìn)程為root組,無需專門設(shè)置優(yōu)先級(jí)。在android系統(tǒng)啟動(dòng)過程中,解析到init.rc文件中藍(lán)牙native服務(wù)相關(guān)字段時(shí),開始運(yùn)行native藍(lán)牙服務(wù)程序??蛇x地,所述藍(lán)牙音箱10中的藍(lán)牙硬件設(shè)備通過usb與ic連接,在所述藍(lán)牙音箱10啟動(dòng)過程中加載usb驅(qū)動(dòng),再通過對usb設(shè)備進(jìn)行遍歷以找到相應(yīng)的藍(lán)牙usb節(jié)點(diǎn),當(dāng)找到該節(jié)點(diǎn)時(shí)即可進(jìn)行驅(qū)動(dòng)加載。

可選地,在native藍(lán)牙服務(wù)程序運(yùn)行后,可使用shell腳本執(zhí)行insmod命令加載藍(lán)牙驅(qū)動(dòng),并檢測是否加載完成。通過在代碼中使用access函數(shù)查看藍(lán)牙驅(qū)動(dòng)節(jié)點(diǎn)文件是否存在,來判定驅(qū)動(dòng)是否已經(jīng)加載,并通過open藍(lán)牙驅(qū)動(dòng)節(jié)點(diǎn)文件來判定驅(qū)動(dòng)是否加載完成。

步驟s104,所述native藍(lán)牙服務(wù)程序控制加載藍(lán)牙協(xié)議棧,并對a2dpsink協(xié)議初始化,使得所述藍(lán)牙音箱10配置為被發(fā)現(xiàn)狀態(tài)。

在本實(shí)施例中,當(dāng)驅(qū)動(dòng)加載完成后,初始化android系統(tǒng)的藍(lán)牙協(xié)議棧。使用android系統(tǒng)hal方式,加載藍(lán)牙協(xié)議棧庫,獲取bluedroid的句柄,分別調(diào)用init和enable函數(shù)來初始化協(xié)議棧,之后藍(lán)牙協(xié)議棧就運(yùn)行在native藍(lán)牙服務(wù)程序中,進(jìn)而使得所述藍(lán)牙音箱10配置為被發(fā)現(xiàn)狀態(tài)。

應(yīng)注意,與基于android系統(tǒng)默認(rèn)的藍(lán)牙音箱實(shí)現(xiàn)方法對比,本實(shí)施例中的步驟s100-步驟s104給出的藍(lán)牙音箱實(shí)現(xiàn)方法通過在init中直接啟動(dòng)native藍(lán)牙服務(wù)程序,該native藍(lán)牙服務(wù)程序?qū)崿F(xiàn)了原有藍(lán)牙音箱模式所有的功能,因此,通過init進(jìn)程直接啟動(dòng)藍(lán)牙native服務(wù)程序加快了開機(jī)過程中藍(lán)牙音箱模式的準(zhǔn)備時(shí)間,用戶體驗(yàn)明顯。其中,在實(shí)際測試過程中,本實(shí)施例給出的藍(lán)牙音箱實(shí)現(xiàn)方法可將原有開機(jī)進(jìn)入藍(lán)牙音箱模式耗時(shí)38秒縮短到20秒以內(nèi)。

進(jìn)一步地,在將所述藍(lán)牙音箱10配置為被發(fā)現(xiàn)狀態(tài)后,若需要實(shí)現(xiàn)source端與所述sink端之間的音頻數(shù)據(jù)傳輸,再請次參閱圖2,所述藍(lán)牙音箱實(shí)現(xiàn)方法還需執(zhí)行以下步驟來對source端與所述sink端進(jìn)行配對。

步驟s106,確認(rèn)所述第一終端為source端,獲取該source端的第一設(shè)備參數(shù)并保存。

在本實(shí)施例中,選取第一終端為source端,并打開該source端上的藍(lán)牙服務(wù),以使得所述sink端獲取該source端的設(shè)備參數(shù)并保存。其中,所述設(shè)備參數(shù)可以為所述第一終端的型號(hào)、pn碼等,本實(shí)施例對此不做限制??蛇x地,被確認(rèn)為source端的所述第一終端可以為智能手機(jī)、平板電腦等終端設(shè)備。

步驟s108,根據(jù)所述第一設(shè)備參數(shù)建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。

具體地,在本實(shí)施例中,所述sink端中預(yù)先存儲(chǔ)有用于驗(yàn)證獲取的source端的設(shè)備參數(shù)是否符合配對條件的身份驗(yàn)證模塊,因此,在獲取到所述第一設(shè)備參數(shù)后,可對所述第一設(shè)備參數(shù)進(jìn)行驗(yàn)證,若該第一設(shè)備參數(shù)通過所述身份驗(yàn)證模塊的驗(yàn)證,則建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。應(yīng)理解,所述身份驗(yàn)證模塊的具體驗(yàn)證方式可以有多種,例如,密鑰對等,本實(shí)施例對此不做限制。

步驟s110,所述sink端接收所述source端發(fā)送的音頻數(shù)據(jù),并發(fā)送給所述native藍(lán)牙服務(wù)程序。

本實(shí)施例中,在成功建立所述sink端與所述source端之間的連接鏈路后,所述source端發(fā)送音頻數(shù)據(jù)給所述sink端,該sink端通過藍(lán)牙協(xié)議棧將接收到的所述音頻數(shù)據(jù)發(fā)送給所述native藍(lán)牙服務(wù)程序。

步驟s112,所述native藍(lán)牙服務(wù)程序?qū)邮盏降囊纛l數(shù)據(jù)進(jìn)行重采樣,將重采樣的音頻數(shù)據(jù)寫入揚(yáng)聲器對應(yīng)的聲卡中進(jìn)行音頻播放。

本實(shí)施例中,所述native藍(lán)牙服務(wù)程序需要對接收到的音頻數(shù)據(jù)進(jìn)行重采樣后,再寫入揚(yáng)聲器對應(yīng)的聲卡中進(jìn)行音頻播放。

其中,與基于android系統(tǒng)默認(rèn)的藍(lán)牙音箱實(shí)現(xiàn)方法對比,本實(shí)施例在通過上述步驟s110和步驟s112進(jìn)行數(shù)據(jù)傳輸時(shí),不再需要將音頻數(shù)據(jù)送入混音器中處理,而是直接寫入到揚(yáng)聲器對應(yīng)的聲卡設(shè)備中進(jìn)行音頻播放,對音頻播放過程中的實(shí)際延遲有一定改善。

進(jìn)一步地,在成功完成一次從source端到sink端的音頻數(shù)據(jù)傳輸、播放后,若需要再次啟動(dòng)藍(lán)牙音箱10進(jìn)行音頻數(shù)據(jù)傳輸、播放時(shí),如圖4所示,所述藍(lán)牙音箱實(shí)現(xiàn)方法還包括以下步驟,具體如下。

步驟s114,確認(rèn)第二終端為source端,獲取該source端的第二設(shè)備參數(shù)。

步驟s116,判斷所述sink端的配對歷史記錄列表中是否包括所述第二設(shè)備參數(shù),若包括,則直接建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。

在本實(shí)施例中,再次通過藍(lán)牙音箱10進(jìn)行音頻數(shù)據(jù)播放時(shí),首先確認(rèn)第二終端為source端,并獲取該source端的第二設(shè)備參數(shù),將獲取的第二設(shè)備參數(shù)與歷史記錄列表中保存的source端的設(shè)備參數(shù)進(jìn)行比對,若該歷史記錄列表中包括該第二設(shè)備參數(shù),則直接建立所述sink端與所述source端之間的藍(lán)牙連接鏈路,以進(jìn)行音頻數(shù)據(jù)的傳輸。例如,在本實(shí)施例中,若所述sink端判斷出獲取的所述第二設(shè)備參數(shù)與所述第一設(shè)備參數(shù)相同,則可確認(rèn)所述第二終端與所述第一終端為同一設(shè)備,因此,可直接建立所述sink端與以所述第二終端為source端之間的藍(lán)牙連接鏈路。

進(jìn)一步地,請結(jié)合參閱圖5,為本發(fā)明實(shí)施例提供的一種可應(yīng)用于所述藍(lán)牙音箱10的藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)100。所述藍(lán)牙音箱實(shí)現(xiàn)系統(tǒng)100包括第一啟動(dòng)模塊101、第二啟動(dòng)模塊102、初始化模塊104、參數(shù)獲取模塊106、鏈路建立模塊108、接收模塊110、音頻播放模塊112和判斷模塊114。

所述第一啟動(dòng)模塊101用于啟動(dòng)所述藍(lán)牙音箱10,確認(rèn)該藍(lán)牙音箱10為sink端。具體地,在本實(shí)施例中,所述第一啟動(dòng)模塊101可用于執(zhí)行圖2中的步驟s101,具體的操作方法可參考步驟s101的詳細(xì)描述。

所述第二啟動(dòng)模塊102用于通過init進(jìn)程啟動(dòng)native藍(lán)牙服務(wù)程序。

在本實(shí)施例中,圖2中的步驟s102由所述第二啟動(dòng)模塊102執(zhí)行??蛇x地,在實(shí)際實(shí)施時(shí),如圖5所示,所述第二啟動(dòng)模塊102包括創(chuàng)建子模塊1020和啟動(dòng)子模塊1022。

所述創(chuàng)建子模塊1020用于創(chuàng)建一個(gè)采用c代碼編譯的native藍(lán)牙服務(wù)程序。具體地,在本實(shí)施例中,所述創(chuàng)建子模塊1020可用于執(zhí)行圖3中的步驟s1020,具體的操作方法可參考步驟s1020的詳細(xì)描述。

所述啟動(dòng)子模塊1022用于在android系統(tǒng)根目錄下的init.rc中注冊一個(gè)藍(lán)牙服務(wù),當(dāng)init進(jìn)程解析rc文件時(shí)啟動(dòng)native藍(lán)牙服務(wù)程序。具體地,在本實(shí)施例中,所述啟動(dòng)子模塊1022可用于執(zhí)行圖3中的步驟s1022,具體的操作方法可參考步驟s1022的詳細(xì)描述。

所述初始化模塊104用于所述native藍(lán)牙服務(wù)程序控制加載藍(lán)牙協(xié)議棧,并對a2dpsink協(xié)議初始化,使得所述藍(lán)牙音箱10配置為被發(fā)現(xiàn)狀態(tài)。具體地,在本實(shí)施例中,所述初始化模塊104可用于執(zhí)行圖2中的步驟s104,具體的操作方法可參考步驟s104的詳細(xì)描述。

所述參數(shù)獲取模塊106用于確認(rèn)所述第一終端為source端,獲取該source端的第一設(shè)備參數(shù)并保存,或用于確認(rèn)第二終端為source端,獲取該source端的第二設(shè)備參數(shù)。具體地,在本實(shí)施例中,所述參數(shù)獲取模塊106可用于執(zhí)行圖2中的步驟s106,也可用于執(zhí)行圖4中的步驟s114,具體的操作方法可參考步驟s106或步驟s114的詳細(xì)描述。

所述鏈路建立模塊108用于根據(jù)所述第一設(shè)備參數(shù)建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。具體地,在本實(shí)施例中,所述鏈路建立模塊108可用于執(zhí)行圖2中的步驟s108,具體的操作方法可參考步驟s108的詳細(xì)描述。

所述接收模塊110用于所述sink端接收所述source端發(fā)送的音頻數(shù)據(jù),并發(fā)送給所述native藍(lán)牙服務(wù)程序。具體地,在本實(shí)施例中,所述接收模塊110可用于執(zhí)行圖2中的步驟s110,具體的操作方法可參考步驟s110的詳細(xì)描述。

所述音頻播放模塊112用于所述native藍(lán)牙服務(wù)程序?qū)邮盏降囊纛l數(shù)據(jù)進(jìn)行重采樣,將重采樣的音頻數(shù)據(jù)寫入揚(yáng)聲器對應(yīng)的聲卡中進(jìn)行音頻播放。具體地,在本實(shí)施例中,所述音頻播放模塊112可用于執(zhí)行圖2中的步驟s112,具體的操作方法可參考步驟s112的詳細(xì)描述。

所述判斷模塊114用于判斷所述sink端的配對歷史記錄列表中是否包括所述第二設(shè)備參數(shù),若包括,則直接建立所述sink端與所述source端之間的藍(lán)牙連接鏈路。具體地,在本實(shí)施例中,所述判斷模塊114可用于執(zhí)行圖4中的步驟s116,具體的操作方法可參考步驟s116的詳細(xì)描述。

綜上所述,本發(fā)明實(shí)施例提供的藍(lán)牙音箱實(shí)現(xiàn)方法和系統(tǒng)可基于android系統(tǒng)實(shí)現(xiàn),與現(xiàn)有android系統(tǒng)中默認(rèn)的藍(lán)牙音箱實(shí)現(xiàn)方法對比,本實(shí)施例通過init進(jìn)程直接啟動(dòng)native藍(lán)牙服務(wù)程序,加快了藍(lán)牙音箱10的開機(jī)過程中藍(lán)牙音箱模式的準(zhǔn)備時(shí)間,用戶體驗(yàn)明顯。

在本發(fā)明的描述中,術(shù)語“設(shè)置”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。

在本發(fā)明實(shí)施例所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過其他方式實(shí)現(xiàn)。以上所描述的裝置和方法實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的預(yù)設(shè)數(shù)量個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分。所述模塊、程序段或代碼的一部分包含一個(gè)或預(yù)設(shè)數(shù)量個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能。

也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。

以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
澳门| 图们市| 临颍县| 芜湖市| 德惠市| 常山县| 石门县| 宜宾市| 汽车| 磐石市| 沙湾县| 白山市| 台中县| 馆陶县| 八宿县| 团风县| 盐城市| 陕西省| 博白县| 海门市| 宝鸡市| 宁强县| 土默特左旗| 黄平县| 岳普湖县| 格尔木市| 台东市| 隆子县| 嵩明县| 湘乡市| 新干县| 五莲县| 康平县| 昭通市| 潼南县| 景泰县| 台湾省| 布拖县| 普宁市| 京山县| 伊川县|