前言:最近買了一個(gè)小米藍(lán)牙自拍桿去泰山玩兒,用了好好的,突然想看下藍(lán)牙自拍桿原理是什么,百度學(xué)習(xí)了一下。 demo: https://github.com/happyjiatai/demo_csdn/tree/master/demo_47_bluetoothzipaigan 1. 藍(lán)牙自拍桿原理說藍(lán)牙自拍桿原理之前,先科普一下相機(jī)拍照的快捷鍵,音量鍵作為快捷鍵是可以設(shè)置功能的,比如小米mix2 是可以作為快門、變焦和音量的,如下圖所示。這里強(qiáng)調(diào)一點(diǎn),使用藍(lán)牙自拍桿,必須將音量鍵功能設(shè)為快門,這個(gè)菜單是和藍(lán)牙自拍桿的拍照功能相對(duì)應(yīng)的。 然后,藍(lán)牙自拍桿其實(shí)就是用的音量鍵作為快門快捷鍵的特性才產(chǎn)生作用的。比如如果不在拍照界面,點(diǎn)擊藍(lán)牙拍照按鈕,會(huì)把調(diào)節(jié)音量的進(jìn)度條調(diào)出來。這可以證明藍(lán)牙自拍桿是操作音量鍵起到效果的。 2. 原理的代碼層面分析第一部分主要從使用角度上分析了藍(lán)牙自拍桿的原理,第二部分再從代碼層面上驗(yàn)證或者證明一下。 我寫了一個(gè)小的demo
這個(gè)demo很簡單,主要就是監(jiān)控手機(jī)按鍵的事件下發(fā),看下點(diǎn)擊藍(lán)牙自拍桿的拍照按鈕后的log打印 而66和24這兩個(gè)event對(duì)應(yīng)的分別是enter鍵和音量上鍵
從藍(lán)牙界面也可以看出自拍桿其實(shí)是作為一個(gè)鍵盤來對(duì)待的,這個(gè)鍵盤的按鍵下發(fā)其實(shí)就是下發(fā)enter key和volume up key,volume up key等效于用戶手點(diǎn)音量上鍵。相機(jī)的onKeyUp接收到對(duì)應(yīng)事件進(jìn)行相應(yīng)設(shè)置的邏輯處理,一般是快門,也就是拍照。 3. 總結(jié)藍(lán)牙自拍桿簡單來說功能等效于手動(dòng)按下音量上鍵,它們?cè)谠砩隙际窍掳l(fā)了volume up的event給相機(jī)進(jìn)行處理,相機(jī)接收到這個(gè)event就按照相機(jī)的音量鍵設(shè)置來實(shí)現(xiàn)對(duì)應(yīng)的功能。所以我們想要藍(lán)牙自拍桿起拍照的作用,必須將音量鍵設(shè)為快門的快捷鍵。 |
|