乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      (四十七) 藍(lán)牙自拍桿原理學(xué)習(xí)

       九州好人 2022-06-15 發(fā)布于遼寧

      前言:最近買了一個(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

      1. package com.example.demo_47_bluetoothzipaigan;
      2. import android.os.Bundle;
      3. import android.support.v7.app.AppCompatActivity;
      4. import android.util.Log;
      5. import android.view.KeyEvent;
      6. public class MainActivity extends AppCompatActivity {
      7. private static final String TAG = 'jiatai';
      8. @Override
      9. protected void onCreate(Bundle savedInstanceState) {
      10. super.onCreate(savedInstanceState);
      11. setContentView(R.layout.activity_main);
      12. }
      13. @Override
      14. public boolean onKeyDown(int keyCode, KeyEvent event) {
      15. Log.d(TAG, 'onKeyDown : '+ keyCode);
      16. switch (keyCode) {
      17. case KeyEvent.KEYCODE_VOLUME_UP:
      18. Log.d(TAG, 'KeyEvent.KEYCODE_VOLUME_UP');
      19. return true;
      20. case KeyEvent.KEYCODE_VOLUME_DOWN:
      21. Log.d(TAG, 'KeyEvent.KEYCODE_VOLUME_DOWN');
      22. return true;
      23. default:
      24. break;
      25. }
      26. return super.onKeyDown(keyCode, event);
      27. }
      28. @Override
      29. public boolean onKeyUp(int keyCode, KeyEvent event) {
      30. //Log.d(TAG, 'onKeyUp', new RuntimeException());
      31. Log.d(TAG, 'onKeyUp : '+ keyCode);
      32. return super.onKeyUp(keyCode, event);
      33. }
      34. }

      這個(gè)demo很簡單,主要就是監(jiān)控手機(jī)按鍵的事件下發(fā),看下點(diǎn)擊藍(lán)牙自拍桿的拍照按鈕后的log打印

      而66和24這兩個(gè)event對(duì)應(yīng)的分別是enter鍵和音量上鍵

      1. /** Key code constant: Volume Up key.
      2. * Adjusts the speaker volume up. */
      3. public static final int KEYCODE_VOLUME_UP = 24;
      4. /** Key code constant: Enter key. */
      5. public static final int KEYCODE_ENTER = 66;

      從藍(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è)為快門的快捷鍵。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多