欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      CSR藍(lán)牙耳機(jī)開(kāi)發(fā)簡(jiǎn)介(模版)

      時(shí)間:2019-05-14 11:54:23下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《CSR藍(lán)牙耳機(jī)開(kāi)發(fā)簡(jiǎn)介(模版)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《CSR藍(lán)牙耳機(jī)開(kāi)發(fā)簡(jiǎn)介(模版)》。

      第一篇:CSR藍(lán)牙耳機(jī)開(kāi)發(fā)簡(jiǎn)介(模版)

      CSR藍(lán)牙耳機(jī)開(kāi)發(fā)簡(jiǎn)介

      一.BC6145 1.連接spi板和BC6145,電腦并口連接到spi下載板上,bc6145要開(kāi)機(jī),如下圖:

      2.打開(kāi)Headset Config Tool BC6145軟件,修改pskey

      先選擇從目標(biāo)板上讀取pskey設(shè)置,如下圖,選擇open from device 在各設(shè)計(jì)選擇完后,選擇write to device(若要保存設(shè)置文件,則選擇write PSR)3.需要復(fù)位eeprom,才能使設(shè)置起作用,復(fù)位可以斷電復(fù)位,或者關(guān)機(jī)后等1分鐘進(jìn)入待機(jī)后再開(kāi)機(jī)即可起作用。

      第二篇:藍(lán)牙耳機(jī)市場(chǎng)調(diào)查問(wèn)卷

      藍(lán)牙耳機(jī)市場(chǎng)調(diào)查問(wèn)卷

      您好!感謝您用寶貴的時(shí)間參與這份問(wèn)卷調(diào)查。為了更好地了解藍(lán)牙耳機(jī)在大學(xué)生中的市場(chǎng)情況,設(shè)計(jì)一款更適合您的藍(lán)牙耳機(jī),需要您真誠(chéng)的幫助和真實(shí)的回答,您的每一份耐心對(duì)于我來(lái)說(shuō)都是莫大的支持?。ù藛?wèn)卷無(wú)需填寫(xiě)您的姓名,且保證您的回答保密)

      問(wèn)題1:您的性別

      ○ A男○ B 女

      問(wèn)題2:您的月生活費(fèi)大概是?(單選題)

      ○ A500元以下 ○ B500元—1000 元○ C1000以上

      問(wèn)題3:您使用耳機(jī)的原因 ?(單選題)

      ○ A 聽(tīng)音樂(lè) ○ B 語(yǔ)音聊天 ○ C 網(wǎng)絡(luò)游戲 ○ D 其他

      問(wèn)題4:您喜歡那種佩戴方式的耳機(jī)?(單選題)

      ○ A 耳塞式○ B 入耳式○ C 頭戴式○ C 耳后式○ D 其他

      問(wèn)題5:您更喜歡有線耳機(jī)還是無(wú)線耳機(jī)?(單選題)

      ○ A 有線○ B 無(wú)線○ C 無(wú)所謂

      問(wèn)題6:您的手機(jī)是否有藍(lán)牙功能?(單選題)

      ○ A 有 ○ B 沒(méi)有 ○ C 功能顯示有,但沒(méi)用過(guò)

      問(wèn)題7:您是否考慮購(gòu)買(mǎi)藍(lán)牙耳機(jī)?(單選題)

      ○ A 考慮購(gòu)買(mǎi)○ B 不考慮,手機(jī)不支持○ C 已經(jīng)有了,暫不考慮

      問(wèn)題8:您更喜歡哪種外觀風(fēng)格的藍(lán)牙耳機(jī)?(單選題)

      ○ A 普通實(shí)用型○ B 潮流時(shí)尚型○ C 個(gè)性獨(dú)特型○ D古怪夸張型

      問(wèn)題9:您對(duì)購(gòu)買(mǎi)耳機(jī)的首要標(biāo)準(zhǔn)是?(單選題)

      ○ A價(jià)格○ B外觀○ C音質(zhì)○ D工藝○ E 品牌

      問(wèn)題10:您會(huì)購(gòu)買(mǎi)以下哪個(gè)價(jià)位的藍(lán)牙耳機(jī)?(單選題)

      ○ A 100以下○ B 100~200○ C 200~300○ D 300以上

      問(wèn)題11:您購(gòu)買(mǎi)藍(lán)牙耳機(jī)的初衷【多選題】□ A 方便接聽(tīng)電話(huà)□ B減少電話(huà)輻射□ C聽(tīng)音樂(lè)□ D追求時(shí)尚□ E體驗(yàn)產(chǎn)品 問(wèn)題12:對(duì)于藍(lán)牙耳機(jī)的市場(chǎng)前景您有什么想法?【多選題】

      □ A價(jià)格下降更有前景 □ B外觀設(shè)計(jì)多樣化 □ C增加一些功能更實(shí)用 □ D 技術(shù)突破□ E佩戴更舒適

      藍(lán)牙耳機(jī)是一種基于藍(lán)牙技術(shù)的一種小型設(shè)備,只需要把這種輕巧的設(shè)備藏

      在耳機(jī)邊而不需要直接使用通訊設(shè)備(手機(jī)、電腦等)就可以實(shí)現(xiàn)自由通話(huà)、聽(tīng)音樂(lè)、運(yùn)動(dòng),讓生活變得更輕松!

      第三篇:多普達(dá)手機(jī)上如何藍(lán)牙耳機(jī)聽(tīng)音樂(lè)

      多普達(dá)手機(jī)上如何藍(lán)牙耳機(jī)聽(tīng)音樂(lè)(完美篇)

      蘭牙耳機(jī)在多普達(dá)系列手機(jī)上一直都是無(wú)法操作聽(tīng)音樂(lè),這是當(dāng)下很多手機(jī)玩家苦惱的地方!我綜合網(wǎng)絡(luò)上的一些資料,整理一個(gè)確切可行的操作方法。當(dāng)然,該辦法已經(jīng)得到我的具體實(shí)施有效!

      當(dāng)下也許摩托的蘭牙耳機(jī)比較低廉,所以咱們以摩托藍(lán)牙耳機(jī)做例子(蘭牙耳機(jī)不存在品牌問(wèn)題,在任何手機(jī)上,只要做到匹配,都是不成問(wèn)題的)

      開(kāi)始!

      1、進(jìn)入“設(shè)置”功能,按4進(jìn)入“藍(lán)牙設(shè)置”

      2、按1進(jìn)入“藍(lán)牙”選項(xiàng),把Bluetooth中的“關(guān)閉”改為“可發(fā)現(xiàn)”,按左軟鍵完成。一直按左軟鍵完成及退出返回到首頁(yè)時(shí)在電池、信號(hào)狀態(tài)欄上會(huì)出現(xiàn)一個(gè)藍(lán)牙的圖示,信號(hào)狀態(tài)燈會(huì)變成一綠一藍(lán)的交替閃爍。

      3、重新進(jìn)入“藍(lán)牙設(shè)置”的“藍(lán)牙”選項(xiàng),按右軟鍵打開(kāi)菜單,選擇“1設(shè)備”,再按右軟鍵打開(kāi)菜單,選擇“1新建”,這時(shí)手機(jī)上會(huì)出現(xiàn)搜索的畫(huà)面,此時(shí),要緊接著打開(kāi)藍(lán)牙耳機(jī)電源并進(jìn)入配對(duì)狀態(tài)(具體請(qǐng)看耳機(jī)說(shuō)明書(shū))。

      4、當(dāng)找到“Motorola HS801”時(shí)按左軟鍵“選擇”,出現(xiàn)輸入密鑰的輸入框,在框中輸入“0000”(MOTO HS801的密鑰)后按左軟鍵“完成”。

      5、出現(xiàn)請(qǐng)輸入設(shè)備的顯示名稱(chēng)輸入框,可改可不改,按左軟鍵“完成”;

      6、出現(xiàn)確認(rèn)是否指定Motorola HS801為免提設(shè)備的對(duì)話(huà)菜單,按左軟鍵“是”;

      7、出現(xiàn)設(shè)備已添加的提示信息,按左軟鍵“確定”;

      8、這時(shí)在設(shè)備中會(huì)出現(xiàn)“Motorola HS801”一行信息,一直按左軟鍵“完成”退出返回到首頁(yè)即可。這時(shí)在電池、信號(hào)狀態(tài)欄上會(huì)出現(xiàn)一個(gè)耳機(jī)的圖示。(注:藍(lán)牙設(shè)置中的其它3個(gè)選項(xiàng)我都沒(méi)有去更改)

      通過(guò)試驗(yàn)在房間與衛(wèi)生間之間有6米左右范圍內(nèi)使用藍(lán)牙耳機(jī)通話(huà)清晰正常來(lái)電時(shí)耳機(jī)內(nèi)會(huì)有提示音,短按耳機(jī)上的按鍵可以接聽(tīng)與掛斷;在待機(jī)狀態(tài)時(shí),短按耳機(jī)上的按鍵可以實(shí)現(xiàn)語(yǔ)音撥號(hào),識(shí)別率還不錯(cuò),并會(huì)在識(shí)別后播放你之前錄制的語(yǔ)音,然后撥出電話(huà);長(zhǎng)按耳機(jī)按鍵可以重?fù)苤皳艹龅碾娫?huà)。

      匹配工作已經(jīng)做好,接下來(lái)就是實(shí)施蘭牙耳機(jī)聽(tīng)音樂(lè)的步驟了!實(shí)施之前,請(qǐng)下載以下軟件“任務(wù)管理器”下載地址請(qǐng)登陸:論壇小寶置頂查詢(xún)貼有下載。

      這個(gè)軟件就是SP TASK MANAGER,可以用它來(lái)關(guān)閉系統(tǒng)進(jìn)程。

      現(xiàn)在,方法如下:

      首先在手機(jī)上安裝SP TASK MANAGER,把下載的軟件,解壓,復(fù)制到storage目錄下的Program Files 目錄下,然后打開(kāi)文件夾,把其中的SPTaskMgrEN文件復(fù)制到Storage目錄下的window文件夾內(nèi)的Start Menu文件夾里粘貼快捷方式,重命名為任務(wù)管理器。然后關(guān)機(jī)重新啟動(dòng)。

      開(kāi)機(jī)!在開(kāi)始里找到任務(wù)管理器,進(jìn)入-->點(diǎn)擊菜單-->把隱藏系統(tǒng)進(jìn)程打開(kāi)!關(guān)閉“cdial.exe”進(jìn)程。

      按一下耳機(jī)上的“接聽(tīng)鍵”的按鈕,你就可以在575上用藍(lán)牙耳機(jī)聽(tīng)音樂(lè)了。

      關(guān)閉“cdial.exe”進(jìn)程,其實(shí)就是使耳機(jī)的語(yǔ)音撥號(hào)功能無(wú)效。按一下耳機(jī)上的“接聽(tīng)鍵”的按鈕,使手機(jī)上的聲音都發(fā)送到耳機(jī),再按一下“接聽(tīng)鍵”,關(guān)閉耳機(jī)接聽(tīng)聲音,是手機(jī)播放聲音。

      [ 本帖最后由 LWLING001 于 2007-4-16 12:38 編輯 ]

      第四篇:Android藍(lán)牙開(kāi)發(fā)小結(jié)

      學(xué)習(xí)之前先了解兩個(gè)基本概念:

      一、RFCOMM協(xié)議:

      一個(gè)基于歐洲電信標(biāo)準(zhǔn)協(xié)會(huì)ETSI07.10規(guī)程的串行線性仿真協(xié)議。此協(xié)議提供RS232控制和狀態(tài)信號(hào),如基帶上的損壞,CTS以及數(shù)據(jù)信號(hào)等,為上層業(yè)務(wù)(如傳統(tǒng)的串行線纜應(yīng)用)提供了傳送能力。

      RFCOMM是一個(gè)簡(jiǎn)單傳輸協(xié)議,其目的是針對(duì)如何在兩個(gè)不同設(shè)備上的應(yīng)用之間保證一條完整的通信路徑,并在它們之間保持一通信段。

      RFCOMM是為了兼容傳統(tǒng)的串口應(yīng)用,同時(shí)取代有線的通信方式,藍(lán)牙協(xié)議棧需要提供與有線串口一致的通信接口而開(kāi)發(fā)出的協(xié)議。RFCOMM協(xié)議提供對(duì)基于L2CAP協(xié)議的串口仿真,基于ETSI07.10??芍С衷趦蓚€(gè)BT設(shè)備之間同時(shí)保持高達(dá)60路的通信連接。

      RFCOMM只針對(duì)直接互連設(shè)備之間的連接,或者是設(shè)備與網(wǎng)絡(luò)接入設(shè)備之間的互連。通信兩端設(shè)備必須兼容于RFCOMM協(xié)議,有兩類(lèi)設(shè)備:DTE(Data Terminal Endpoint,通信終端,如PC,PRINTER)和DCE(Data Circuit Endpoint,通信段的一部分,如Modem)。此兩類(lèi)設(shè)備不作區(qū)分。

      二、MAC硬件地址

      MAC(Medium/MediaAccess Control, 介質(zhì)訪問(wèn)控制)MAC地址是燒錄在NetworkInterfaceCard(網(wǎng)卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特長(zhǎng)(6字節(jié)),16進(jìn)制的數(shù)字組成.0-23位叫做組織唯一標(biāo)志符(organizationally unique,是識(shí)別LAN(局域網(wǎng))節(jié)點(diǎn)的標(biāo)識(shí).24-47位是由廠家自己分配。其中第40位是組播地址標(biāo)志位。網(wǎng)卡的物理地址通常是由網(wǎng)卡生產(chǎn)廠家燒入網(wǎng)卡的EPROM(一種閃存芯片,通常可以通過(guò)程序擦寫(xiě)),它存儲(chǔ)的是傳輸數(shù)據(jù)時(shí)真正賴(lài)以標(biāo)識(shí)發(fā)出數(shù)據(jù)的電腦和接收數(shù)據(jù)的主機(jī)的地址。

      Android平臺(tái)提供的藍(lán)牙API去實(shí)現(xiàn)藍(lán)牙設(shè)備之間的通信,藍(lán)牙設(shè)備之間的通信主要包括了四個(gè)步驟:設(shè)置藍(lán)牙設(shè)備、尋找局域網(wǎng)內(nèi)可能或者匹配的設(shè)備、連接設(shè)備和設(shè)備之間的數(shù)據(jù)傳輸。以下是建立藍(lán)牙連接的所需要的一些基本類(lèi):

      BluetoothAdapter類(lèi):代表了一個(gè)本地的藍(lán)牙適配器。它是所有藍(lán)牙交互的的入口點(diǎn)。利用它你可以發(fā)現(xiàn)其他藍(lán)牙設(shè)備,查詢(xún)綁定了的設(shè)備,使用已知的MAC地址實(shí)例化一個(gè)藍(lán)牙設(shè)備和建立一個(gè)BluetoothServerSocket(作為服務(wù)器端)來(lái)監(jiān)聽(tīng)來(lái)自其他設(shè)備的連接。

      BluetoothDevice類(lèi):代表了一個(gè)遠(yuǎn)端的藍(lán)牙設(shè)備,使用它請(qǐng)求遠(yuǎn)端藍(lán)牙設(shè)備連接或者獲取遠(yuǎn)端藍(lán)牙設(shè)備的名稱(chēng)、地址、種類(lèi)和綁定狀態(tài)。(其信息是封裝在bluetoothsocket中)。

      Bluetoothsocket類(lèi):代表了一個(gè)藍(lán)牙套接字的接口(類(lèi)似于tcp中的套接字),它是應(yīng)用程序通過(guò)輸入、輸出流與其他藍(lán)牙設(shè)備通信的連接點(diǎn)。

      Blueboothserversocket類(lèi):代表打開(kāi)服務(wù)連接來(lái)監(jiān)聽(tīng)可能到來(lái)的連接請(qǐng)求(屬于server端),為了連接兩個(gè)藍(lán)牙設(shè)備必須有一個(gè)設(shè)備作為服務(wù)器打開(kāi)一個(gè)服務(wù)套接字。當(dāng)遠(yuǎn)端設(shè)備發(fā)起連接連接請(qǐng)求的時(shí)候,并且已經(jīng)連接到了的時(shí)候,Blueboothserversocket類(lèi)將會(huì)返回一個(gè)bluetoothsocket。

      Bluetoothclass類(lèi):描述了一個(gè)藍(lán)牙設(shè)備的一般特點(diǎn)和能力。它的只讀屬性集定義了設(shè)備的主、次設(shè)備類(lèi)和一些相關(guān)服務(wù)。然而,它并沒(méi)有準(zhǔn)確地描述所有該設(shè)備所支持的藍(lán)牙文件和服務(wù),而是作為對(duì)設(shè)備種類(lèi)來(lái)說(shuō)的一個(gè)小小暗示。下面說(shuō)說(shuō)具體的編程實(shí)現(xiàn) 1.啟動(dòng)藍(lán)牙功能:

      首先通過(guò)調(diào)用靜態(tài)方法getDefaultAdapter()獲取藍(lán)牙適配器BluetoothAdapter,以后你就可以使用該對(duì)象了。如果返回為空,the story is over。例如:

      BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();if(mBluetoothAdapter == null){ // Device does not support Bluetooth } 其次,調(diào)用isEnabled()來(lái)查詢(xún)當(dāng)前藍(lán)牙設(shè)備的狀態(tài),如果返回為false,則表示藍(lán)牙設(shè)備沒(méi)有開(kāi)啟,接下來(lái)你需要封裝一個(gè)ACTION_REQUEST_ENABLE請(qǐng)求到intent里面,調(diào)用startActivityForResult()方法使能藍(lán)牙設(shè)備,例如:

      if(!mBluetoothAdapter.isEnabled()){ Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);}

      2.查找設(shè)備:

      使用BluetoothAdapter類(lèi)里的方法,你可以查找遠(yuǎn)端設(shè)備(大概十米以?xún)?nèi))或者查詢(xún)?cè)谀闶謾C(jī)上已經(jīng)匹配(或者說(shuō)綁定)的其他手機(jī)了。當(dāng)然需要確定對(duì)方藍(lán)牙設(shè)備已經(jīng)開(kāi)啟或者已經(jīng)開(kāi)啟了“被發(fā)現(xiàn)使能”功能(對(duì)方設(shè)備是可以被發(fā)現(xiàn)的是你能夠發(fā)起連接的前提條件)。如果該設(shè)備是可以被發(fā)現(xiàn)的,會(huì)反饋回來(lái)一些對(duì)方的設(shè)備信息,比如名字、MAC地址等,利用這些信息,你的設(shè)備就可以選擇去向?qū)Ψ匠跏蓟粋€(gè)連接。

      如果你是第一次與該設(shè)備連接,那么一個(gè)配對(duì)的請(qǐng)求就會(huì)自動(dòng)的顯示給用戶(hù)。當(dāng)設(shè)備配對(duì)好之后,他的一些基本信息(主要是名字和MAC)被保存下來(lái)并可以使用藍(lán)牙的API來(lái)讀取。使用已知的MAC地址就可以對(duì)遠(yuǎn)端的藍(lán)牙設(shè)備發(fā)起連接請(qǐng)求。

      匹配好的設(shè)備和連接上的設(shè)備的不同點(diǎn):匹配好只是說(shuō)明對(duì)方設(shè)備發(fā)現(xiàn)了你的存在,并擁有一個(gè)共同的識(shí)別碼,并且可以連接。連接上:表示當(dāng)前設(shè)備共享一個(gè)RFCOMM信道并且兩者之間可以交換數(shù)據(jù)。也就是是說(shuō)藍(lán)牙設(shè)備在建立RFCOMM信道之前,必須是已經(jīng)配對(duì)好了的。

      3.查詢(xún)匹配好的設(shè)備:

      在建立連接之前你必須先查詢(xún)配對(duì)好了的藍(lán)牙設(shè)備集(你周?chē)乃{(lán)牙設(shè)備可能不止一個(gè)),以便你選取哪一個(gè)設(shè)備進(jìn)行通信,例如你可以你可以查詢(xún)所有配對(duì)的藍(lán)牙設(shè)備,并使用一個(gè)數(shù)組適配器將其打印顯示出來(lái):

      Set pairedDevices = mBluetoothAdapter.getBondedDevices();// If there are paired devices if(pairedDevices.size()> 0){ //Loop through paired devices for(BluetoothDevice device : pairedDevices){ // Add the name and address to an array adapter to show in a ListView mArrayAdapter.add(device.getName()+ “n” + device.getAddress());} 建立一個(gè)藍(lán)牙連接只需要MAC地址就已經(jīng)足夠了。

      4.掃描設(shè)備:

      掃描設(shè)備,只需要簡(jiǎn)單的調(diào)用startDiscovery()方法,這個(gè)掃描的過(guò)程大概持續(xù)是12秒,應(yīng)用程序?yàn)榱薃CTION_FOUND動(dòng)作需要注冊(cè)一個(gè)BroadcastReceiver來(lái)接受設(shè)備掃描到的信息。對(duì)于每一個(gè)設(shè)備,系統(tǒng)都會(huì)廣播ACTION_FOUND動(dòng)作。例如: // Create a BroadcastReceiver for ACTION_FOUND private final BroadcastReceiver mReceiver = new BroadcastReceiver(){ public void onReceive(Context context, Intent intent){ String action = intent.getAction();// When discovery finds a device if(BluetoothDevice.ACTION_FOUND.equals(action)){ // Get the BluetoothDevice object from the Intent BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);// Add the name and address to an array adapter to show in a ListView mArrayAdapter.add(device.getName()+ “n” + device.getAddress());} } };// Register the BroadcastReceiver IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);registerReceiver(mReceiver, filter);// Don't forget to unregister during onDestroy 注意:掃描的過(guò)程是一個(gè)很耗費(fèi)資源的過(guò)程,一旦你找到你需要的設(shè)備之后,在發(fā)起連接請(qǐng)求之前,確保你的程序調(diào)用cancelDiscovery()方法停止掃描。顯然,如果你已經(jīng)連接上一個(gè)設(shè)備,啟動(dòng)掃描會(huì)減少你的通信帶寬。

      5.使能被發(fā)現(xiàn):Enabling discoverability 如果你想使你的設(shè)備能夠被其他設(shè)備發(fā)現(xiàn),將ACTION_REQUEST_DISCOVERABLE動(dòng)作封裝在intent中并調(diào)用startActivityForResult(Intent, int)方法就可以了。他將在不使你應(yīng)用程序退出的情況下使你的設(shè)備能夠被發(fā)現(xiàn)。缺省情況下的使能時(shí)間是120秒,當(dāng)然你可以可以通過(guò)添加EXTRA_DISCOVERABLE_DURATION字段來(lái)改變使能時(shí)間(最大不超過(guò)300秒,這是出于對(duì)你設(shè)備上的信息安全考慮)。例如: Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);startActivity(discoverableIntent);運(yùn)行該段代碼之后,系統(tǒng)會(huì)彈出一個(gè)對(duì)話(huà)框來(lái)提示你啟動(dòng)設(shè)備使能被發(fā)現(xiàn)(此過(guò)程中如果你的藍(lán)牙功能沒(méi)有開(kāi)啟,系統(tǒng)會(huì)幫你開(kāi)啟),并且如果你準(zhǔn)備對(duì)該遠(yuǎn)端設(shè)備發(fā)現(xiàn)一個(gè)連接,你不需要開(kāi)啟使能設(shè)備被發(fā)現(xiàn)功能,因?yàn)樵摴δ苤皇窃谀愕膽?yīng)用程序作為服務(wù)器端的時(shí)候才需要。

      6.連接設(shè)備:

      在應(yīng)用程序中,想建立兩個(gè)藍(lán)牙設(shè)備之間的連接,必須實(shí)現(xiàn)客戶(hù)端和服務(wù)器端的代碼(因?yàn)槿魏我粋€(gè)設(shè)備都必須可以作為服務(wù)端或者客戶(hù)端)。一個(gè)開(kāi)啟服務(wù)來(lái)監(jiān)聽(tīng),一個(gè)發(fā)起連接請(qǐng)求(使用服務(wù)器端設(shè)備的MAC地址)。當(dāng)他們都擁有一個(gè)藍(lán)牙套接字在同一RFECOMM信道上的時(shí)候,可以認(rèn)為他們之間已經(jīng)連接上了。服務(wù)端和客戶(hù)端通過(guò)不同的方式或其他們的藍(lán)牙套接字。當(dāng)一個(gè)連接監(jiān)聽(tīng)到的時(shí)候,服務(wù)端獲取到藍(lán)牙套接字。當(dāng)客戶(hù)可打開(kāi)一個(gè)FRCOMM信道給服務(wù)器端的時(shí)候,客戶(hù)端獲取到藍(lán)牙套接字。

      注意:在此過(guò)程中,如果兩個(gè)藍(lán)牙設(shè)備還沒(méi)有配對(duì)好的,android系統(tǒng)會(huì)通過(guò)一個(gè)通知或者對(duì)話(huà)框的形式來(lái)通知用戶(hù)。RFCOMM連接請(qǐng)求會(huì)在用戶(hù)選擇之前阻塞。如下圖:

      7.服務(wù)端的連接:

      當(dāng)你想要連接兩臺(tái)設(shè)備時(shí),一個(gè)必須作為服務(wù)端(通過(guò)持有一個(gè)打開(kāi)的BluetoothServerSocket),目的是監(jiān)聽(tīng)外來(lái)連接請(qǐng)求,當(dāng)監(jiān)聽(tīng)到以后提供一個(gè)連接上的BluetoothSocket給客戶(hù)端,當(dāng)客戶(hù)端從BluetoothServerSocket得到BluetoothSocket以后就可以銷(xiāo)毀BluetoothServerSocket,除非你還想監(jiān)聽(tīng)更多的連接請(qǐng)求。

      建立服務(wù)套接字和監(jiān)聽(tīng)連接的基本步驟:

      首先通過(guò)調(diào)用listenUsingRfcommWithServiceRecord(String, UUID)方法來(lái)獲取BluetoothServerSocket對(duì)象,參數(shù)String代表了該服務(wù)的名稱(chēng),UUID代表了和客戶(hù)端連接的一個(gè)標(biāo)識(shí)(128位格式的字符串ID,相當(dāng)于PIN碼),UUID必須雙方匹配才可以建立連接。其次調(diào)用accept()方法來(lái)監(jiān)聽(tīng)可能到來(lái)的連接請(qǐng)求,當(dāng)監(jiān)聽(tīng)到以后,返回一個(gè)連接上的藍(lán)牙套接字BluetoothSocket。最后,在監(jiān)聽(tīng)到一個(gè)連接以后,需要調(diào)用close()方法來(lái)關(guān)閉監(jiān)聽(tīng)程序。(一般藍(lán)牙設(shè)備之間是點(diǎn)對(duì)點(diǎn)的傳輸)

      注意:accept()方法不應(yīng)該放在主Acitvity里面,因?yàn)樗且环N阻塞調(diào)用(在沒(méi)有監(jiān)聽(tīng)到連接請(qǐng)求之前程序就一直停在那里)。解決方法是新建一個(gè)線程來(lái)管理。例如: private class AcceptThread extends Thread { private final BluetoothServerSocket mmServerSocket;public AcceptThread(){ // Use a temporary object that is later assigned to mmServerSocket, // because mmServerSocket is final BluetoothServerSocket tmp = null;try { // MY_UUID is the app's UUID string, also used by theclient code tmp = mAdapter.listenUsingRfcommWithServiceRecord(NAME, MY_UUID);} catch(IOException e){ } mmServerSocket = tmp;} public void run(){ BluetoothSocket socket = null;// Keep listening until exception occurs or a socket is returned while(true){ try { socket = mmServerSocket.accept();} catch(IOException e){ break;} // If a connection was accepted if(socket!= null){ // Do work to manage the connection(in a separate thread)manageConnectedSocket(socket);mmServerSocket.close();break;} } } /** Will cancel the listening socket, and cause the thread to finish */ public void cancel(){ try { mmServerSocket.close();} catch(IOException e){ } } }

      8.客戶(hù)端的連接:

      為了初始化一個(gè)與遠(yuǎn)端設(shè)備的連接,需要先獲取代表該設(shè)備的一個(gè)BluetoothDevice對(duì)象。通過(guò)BluetoothDevice對(duì)象來(lái)獲取BluetoothSocket并初始化連接,具體步驟:

      使用BluetoothDevice對(duì)象里的方法createRfcommSocketToServiceRecord(UUID)來(lái)獲取BluetoothSocket。UUID就是匹配碼。然后,調(diào)用connect()方法來(lái)。如果遠(yuǎn)端設(shè)備接收了該連接,他們將在通信過(guò)程中共享RFFCOMM信道,并且connect()方法返回。例如: private class ConnectThread extends Thread { private final BluetoothSocket mmSocket;private final BluetoothDevice mmDevice;public ConnectThread(BluetoothDevice device){ // Use a temporary object that is later assigned to mmSocket, // because mmSocket is final BluetoothSocket tmp = null;mmDevice = device;// Get a BluetoothSocket to connect with the given BluetoothDevice try { // MY_UUID is the app's UUID string, also used by the server code tmp = device.createRfcommSocketToServiceRecord(MY_UUID);} catch(IOException e){ } mmSocket = tmp;}

      public void run(){ // Cancel discovery because it will slow down the connection mAdapter.cancelDiscovery();try { // Connect the device through the socket.This will block // until it succeeds or throws an exception mmSocket.connect();} catch(IOException connectException){ // Unable to connect;close the socket and get out try { mmSocket.close();} catch(IOException closeException){ } return;} // Do work to manage the connection(in a separate thread)manageConnectedSocket(mmSocket);}

      注意:conncet()方法也是阻塞調(diào)用,一般建立一個(gè)獨(dú)立的線程中來(lái)調(diào)用該方法。在設(shè)備discover過(guò)程中不應(yīng)該發(fā)起連接connect(),這樣會(huì)明顯減慢速度以至于連接失敗。且數(shù)據(jù)傳輸完成只有調(diào)用close()方法來(lái)關(guān)閉連接,這樣可以節(jié)省系統(tǒng)內(nèi)部資源。

      9.管理連接(主要涉及數(shù)據(jù)的傳輸):

      當(dāng)設(shè)備連接上以后,每個(gè)設(shè)備都擁有各自的BluetoothSocket。現(xiàn)在你就可以實(shí)現(xiàn)設(shè)備之間數(shù)據(jù)的共享了。

      1> 首先通過(guò)調(diào)用getInputStream()和getOutputStream()方法來(lái)獲取輸入輸出流。然后通過(guò)調(diào)用read(byte[])和write(byte[]).方法來(lái)讀取或者寫(xiě)數(shù)據(jù)。

      2> 實(shí)現(xiàn)細(xì)節(jié):以為讀取和寫(xiě)操作都是阻塞調(diào)用,需要建立一個(gè)專(zhuān)用現(xiàn)成來(lái)管理。3>

      private class ConnectedThread extends Thread { private final BluetoothSocket mmSocket;private final InputStream mmInStream;private final OutputStream mmOutStream;public ConnectedThread(BluetoothSocket socket){ mmSocket = socket;InputStream tmpIn = null;OutputStream tmpOut = null;// Get the input and output streams, using temp objects because // member streams are final try { tmpIn = socket.getInputStream();tmpOut = socket.getOutputStream();} catch(IOException e){ } mmInStream = tmpIn;mmOutStream = tmpOut;} public void run(){ byte[] buffer = new byte[1024];// buffer store for the stream int bytes;// bytes returned from read()// Keep listening to the InputStream until an exception occurs while(true){ try { // Read from the InputStream bytes = mmInStream.read(buffer);// Send the obtained bytes to the UI Activity mHandler.obtainMessage(MESSAGE_READ, bytes,-1, buffer).sendToTarget();} catch(IOException e){ break;} } } /* Call this from the main Activity to send data to the remote device */ public void write(byte[] bytes){ try { mmOutStream.write(bytes);} catch(IOException e){ } } /* Call this from the main Activity to shutdown the connection */ public void cancel(){ try { mmSocket.close();} catch(IOException e){ } } }

      第五篇:電腦如何連接藍(lán)牙耳機(jī)或音箱聽(tīng)音樂(lè)和打電話(huà)

      電腦如何連接藍(lán)牙耳機(jī)或音箱聽(tīng)音樂(lè)和打電話(huà)

      較多千月藍(lán)牙軟件用戶(hù)反饋藍(lán)牙耳機(jī)使用問(wèn)題,為此千月技術(shù)專(zhuān)家特意整理此方面操作文章,圖文并茂的說(shuō)明千月藍(lán)牙軟件連接藍(lán)牙耳機(jī)的過(guò)程,希望可以給大家解決一些使用上的問(wèn)題,如果確實(shí)有幫助,請(qǐng)多多支持千月,我們會(huì)整理更多此類(lèi)文章來(lái)幫忙大家熟悉藍(lán)牙,簡(jiǎn)化藍(lán)牙使用。

      耳機(jī)使用說(shuō)明:

      在使用千月連接耳機(jī)之前,如果您的耳機(jī)連接過(guò)手機(jī),請(qǐng)打開(kāi)手機(jī)藍(lán)牙取消手機(jī)與耳機(jī)之間的配對(duì)后,再按照下述步驟進(jìn)行操作!

      第一步:確認(rèn)千月藍(lán)牙軟件安裝成功之后,插入適配器或者打開(kāi)內(nèi)置的藍(lán)牙開(kāi)關(guān)啟動(dòng)千月,打開(kāi)千月(BlueSoleil)界面:

      第二步:確保您的耳機(jī)開(kāi)啟可配對(duì)可搜索狀態(tài),一般都是長(zhǎng)按開(kāi)機(jī)鍵,指示燈變成紅藍(lán)/綠交替閃爍狀態(tài),或者是綠色快閃(詳細(xì)請(qǐng)參考您的耳機(jī)說(shuō)明書(shū):耳機(jī)調(diào)節(jié)成可配對(duì)模式)。

      第三步:雙擊中間“小太陽(yáng)”或者“月亮”(晚上的狀態(tài))或者右擊選擇搜索設(shè)備

      第四步:搜索到耳機(jī)后,耳機(jī)圖標(biāo)就會(huì)出現(xiàn)在您的界面上

      第五步:當(dāng)耳機(jī)圖標(biāo)出現(xiàn)在您的千月界面上后,雙擊/右擊耳機(jī)圖標(biāo)進(jìn)行配對(duì),配對(duì)成功后,耳機(jī)圖標(biāo)右下角會(huì)出現(xiàn)綠色標(biāo)記。如果在配對(duì)過(guò)程中提示輸入口令,耳機(jī)一般默認(rèn)是0000,如果有其他,請(qǐng)參考您的耳機(jī)說(shuō)明書(shū)。(注:配對(duì)時(shí),耳機(jī)必須還處于可配對(duì)狀態(tài))

      第六步:配對(duì)成功后,右擊/雙擊耳機(jī)圖標(biāo),搜索服務(wù)。搜索成功后,會(huì)顯示您的耳機(jī)支持幾項(xiàng)服務(wù);

      第七步:搜索服務(wù)成功后,根據(jù)您的需要連接所需要的服務(wù)。如果您需要聽(tīng)歌,連接聽(tīng)音樂(lè)服務(wù),連接后,您就可以聽(tīng)音樂(lè),看電影,看視頻,享受藍(lán)牙給您帶來(lái)的無(wú)線體驗(yàn)哦。

      第八步:如果您需要語(yǔ)音,請(qǐng)您斷開(kāi)高質(zhì)量音頻服務(wù)和單聲道耳機(jī)服務(wù)。右擊耳機(jī)圖標(biāo)。連接撥打電話(huà)服務(wù)。連接成功后,您就可以和您的家人或者朋友進(jìn)行語(yǔ)音通話(huà)了。

      (責(zé)任編輯:千月技術(shù)專(zhuān)家--Yin)

      下載CSR藍(lán)牙耳機(jī)開(kāi)發(fā)簡(jiǎn)介(模版)word格式文檔
      下載CSR藍(lán)牙耳機(jī)開(kāi)發(fā)簡(jiǎn)介(模版).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        敏捷開(kāi)發(fā)簡(jiǎn)介

        敏捷開(kāi)發(fā)簡(jiǎn)介 2009-04-21 17:46:34.0來(lái)源:e800.com.cn 關(guān)鍵詞:Scrum精益開(kāi)發(fā)敏捷開(kāi)發(fā) 在軟件工業(yè)界,敏捷開(kāi)發(fā)已成為眾多高效開(kāi)發(fā)團(tuán)隊(duì)的制勝之道。它不僅被許多中小公司青睞,在......

        新型工業(yè)園區(qū)開(kāi)發(fā)簡(jiǎn)介(范文模版)

        北灘新型工業(yè)園區(qū)開(kāi)發(fā)簡(jiǎn)介 北灘新型工業(yè)園區(qū)是縣委、縣政府為實(shí)現(xiàn)工業(yè)強(qiáng)縣而確定的新型工業(yè)開(kāi)發(fā)區(qū)之一。自園區(qū)開(kāi)工建設(shè)以來(lái),鄉(xiāng)黨委、政府高度重視,按照縣委、縣政府的統(tǒng)一安......

        棋牌游戲開(kāi)發(fā)簡(jiǎn)介

        棋牌游戲開(kāi)發(fā)簡(jiǎn)介 (本文由揚(yáng)速科技提供)關(guān)于棋牌游戲開(kāi)發(fā),很多人都會(huì)有各種好奇。其實(shí)要做棋牌游戲開(kāi)發(fā),也不那么復(fù)雜。以下就是關(guān)于棋牌游戲開(kāi)發(fā)簡(jiǎn)介,大致需要幾個(gè)流程: 一、投入......

        亞洲開(kāi)發(fā)銀行貸款業(yè)務(wù)簡(jiǎn)介

        亞洲開(kāi)發(fā)銀行貸款業(yè)務(wù)簡(jiǎn)介 瀏覽次數(shù):126 日期:2012年4月12日 09:03 我國(guó)于1986年正式加入亞洲開(kāi)發(fā)銀行。美國(guó)和西方主要發(fā)達(dá)國(guó)家都是亞行成員,我國(guó)的臺(tái)灣和香港特別行政區(qū)也是......

        全腦開(kāi)發(fā)課程簡(jiǎn)介

        全腦開(kāi)發(fā)課程簡(jiǎn)介 大腦是分左右半球的,即右腦和左腦。而在左右腦的功能上,左腦有理解語(yǔ)言的語(yǔ)言中樞,主要完成語(yǔ)言的、邏輯抽象的、分析的、數(shù)字的思考、認(rèn)識(shí)和行為,主管人的說(shuō)......

        土地開(kāi)發(fā)整理現(xiàn)場(chǎng)操作方法簡(jiǎn)介

        土地開(kāi)發(fā)整理現(xiàn)場(chǎng)操作方法簡(jiǎn)介 一、項(xiàng)目業(yè)主大力支持,完善和建立了“三位一體”的質(zhì)量保證體系。1、為確保組織保障,業(yè)主專(zhuān)門(mén)從中心和當(dāng)?shù)赝凉芩鋫淞藘擅麡I(yè)務(wù)能力和協(xié)調(diào)能力......

        旅游景區(qū)開(kāi)發(fā)過(guò)程簡(jiǎn)介

        旅游景區(qū)開(kāi)發(fā)過(guò)程簡(jiǎn)介 在旅游景區(qū)和旅游項(xiàng)目開(kāi)發(fā)中,旅游景區(qū)的管理者、投資者和部分旅游局的領(lǐng)導(dǎo),對(duì)景區(qū)和旅游項(xiàng)目開(kāi)發(fā)的程序,并不十分明確,結(jié)果走了彎路,耗費(fèi)了不必要的精力和......

        各個(gè)開(kāi)發(fā)平臺(tái)簡(jiǎn)介[五篇]

        各個(gè)開(kāi)發(fā)平臺(tái)簡(jiǎn)介 以下為各個(gè)開(kāi)發(fā)平臺(tái)的簡(jiǎn)介,大家可以看一下。由于是本人匆忙之中趕出來(lái)的,因此一定有許多不足之處。歡迎大家提出相關(guān)意見(jiàn)進(jìn)行修改,并進(jìn)行交流。這樣子有助于......