首页 > 其他分享 >双后摄切换

双后摄切换

时间:2023-08-22 15:58:06浏览次数:26  
标签:newCameraId 双后 BACK FACING CAMERA mFacing 切换 nextFacing

M810项目配置了两个后摄,需要实现双后摄切换:

vendor/mediatek/proprietary/packages/apps/Camera2/feature/setting/cameraswitcher/src/com/mediatek/camera/feature/setting/CameraSwitcher.java

+       private static final String CAMERA_FACING_BACK2 = "back2";

................
+       private void switchCameraInNormal() {
+        //String nextFacing = mFacing.equals(CAMERA_FACING_BACK) ? CAMERA_FACING_FRONT
+        //        : CAMERA_FACING_BACK;
+        String nextFacing = CAMERA_FACING_BACK;
+               String newCameraId;
+               if(mFacing.equals(CAMERA_FACING_BACK)){
+                       nextFacing = CAMERA_FACING_BACK2;
+                       newCameraId = CameraUtil.getCamIdsByFacing(true, mApp.getActivity()).get(1);
+               }else if(mFacing.equals(CAMERA_FACING_BACK2)){
+                       nextFacing = CAMERA_FACING_FRONT;
+                       newCameraId = CameraUtil.getCamIdsByFacing(false, mApp.getActivity()).get(0);
+               }else{
+                       nextFacing = CAMERA_FACING_BACK;
+                       newCameraId = CameraUtil.getCamIdsByFacing(true, mApp.getActivity()).get(0);
+               }
+        boolean success = mApp.notifyCameraSelected(newCameraId);
+        if (success) {
+            android.util.Log.d("wangqing","[switchCameraInNormal], switch camera success.");
+            mFacing = nextFacing;
+            mDataStore.setValue(KEY_CAMERA_SWITCHER, mFacing,
+                    getStoreScope(), true);
+        }else{
+                       android.util.Log.d("wangqing","failed");
+        }
+        mSwitcherView.setContentDescription(mFacing);
+    }

 

 用上述代码替换原有的switchCameraInNormal()方法。

标签:newCameraId,双后,BACK,FACING,CAMERA,mFacing,切换,nextFacing
From: https://www.cnblogs.com/a-n-yan/p/17648715.html

相关文章

  • Selenium+python,切换frame,定位元素出现NoSuchElementException异常
    在某邮箱登录页面切换frame表单,以及定位frame表单中的元素时提示NoSuchElementException。查阅资料后发现某些frame表单或者页面中的元素id是动态更新的,每一次页面刷新后id值都不一样。  我之所以遇到这个问题,就是因为我使用了id进行定位,而当我运行脚本定位元素的时候,id已......
  • repmgr+pg14实现自动切换
    一、环境配置三个节点安装数据库软件;三个节点安装repmgr软件;仅主库节点初始化数据库;三个节点修改repmgr配置文件(若未指出在主节点操作,其余操作均在三个节点进行)1.1软件准备软件下载https://www.postgresql.org/ftp/source/https://www.repmgr.org/PostgreSQL版本:postgre......
  • 大型网络中路由器故障切换技术的应用与实践
    在大型网络中,为了保证服务的高可用性和可靠性,需要配置多个路由器来分担流量和提供服务。但是当其中一台路由器出现故障或停机时,整个网络会出现不可用的情况。为了解决这个问题,可以使用路由器故障切换技术。路由器故障切换技术是指在多台路由器之间实现自动切换,以保证网络的高可用性......
  • 在线直播源码,开发app实现滑动切换界面
    在线直播源码,开发app实现滑动切换界面step1:首先新建一个的.java文件,为主activity,本设计中以Main.java为例,代码如下: publicclassMainextendsAppCompatActivityimplementsView.OnClickListener{  privateTextViewtitle,item_favourite,item_query,item_mine;  p......
  • [转]Linux下,WinSCP普通用户登录sftp后切换到root权限 教程
    --------------------------------------------------------------------------------------------------------有这个需求的原因:为了提高系统安全性,禁用了root的ssh登录,但是又想使用sftp工具,如winscp,对root下的一些文件进行修改.下面这个方法注释掉了sudoers配置项Defa......
  • ubuntu从普通用户切换到root用户
      从普通用户与root用户之间的切换如果你是第一次从普通用户切换到root用户,首先需要建立root用户,让后设置密码,然后再切换。退出root用户 参考:https://www.bkqs.com.cn/content/xpgmvl8pk.html......
  • [AHK2] 切换鼠标锁定
    介绍这个脚本在看视频时很有用,通过热键可以切换鼠标的锁定,从此不用担心误碰鼠标导致弹出进度条了。脚本使用的热键是ScrollLock的扫描码,一般情况下不会用到,但我很喜欢这个热键。可以根据自身喜好进行更改。注意:这里依旧使用了先前分享的更常用的ToolTip,作用是显示提示,并......
  • [原创] TShock插件 - LanguageSwitcher(语言切换器)
    项目地址TShock插件-LanguageSwitcher(语言切换器)语言切换器一个TShock插件,更简单的切换语言,面板服友好已知Bug使用简体中文(也可能存在于其他语言,自行测试)时,无法使用/help命令(此bug仅存在于移动端,且与插件本身无关,系TShock自身Bug)命令/langhelp(获取帮助)/lang[ID](......
  • windows上多版本nodejs安装和切换
    安装nvm下载地址:https://github.com/coreybutler/nvm-windows/releases下载exe安装即可。查看nvm版本: 查看已安装的nodejs版本: 安装Nodejs,比如安装版本v14.21.3执行命令:nvminstall14.21.3然后输入:nvmuse14.21.3指定当前使用的nodejs版本 ......
  • 简单的关注按钮切换功能实现
    简单的关注按钮实现预期效果按钮切换:点击“关注”按钮会变成“已关注”,点击“已关注”会变成关注实现<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><linkrel="icon"href="/favicon.ico"><metaname=&qu......