package com.whyc; import android.Manifest; import android.app.Activity; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.ActivityCompat; import android.view.WindowManager; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; import com.whyc.widget.Camera2TextureView4; public class Camera2TextureViewActivity extends Activity { private static final String TAG = Camera2TextureViewActivity.class.getSimpleName(); private Button camera2Recording; private Camera2TextureView4 camera2TextureView; private boolean isRecording = false; private String[] permissionArray = {Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO, Manifest.permission.WRITE_EXTERNAL_STORAGE}; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera2_texture_view); //禁止屏幕超时 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); //获取权限 ActivityCompat.requestPermissions(this, permissionArray, 1); camera2Recording = findViewById(R.id.camera2_recording); camera2TextureView = findViewById(R.id.camera2_texture_view); LinearLayout llUpText = findViewById(R.id.ll_up_text); TextView tvDevice = findViewById(R.id.tv_device); camera2TextureView.init(llUpText,tvDevice); camera2Recording.setOnClickListener(v -> { if (!isRecording) { try { camera2TextureView.createRecorderSession(); } catch (Exception e) { e.printStackTrace(); } }else{ camera2TextureView.stopRecording(); } // camera2Recording.setText(isRecording ? "启动巡检" : "结束巡检"); camera2Recording.setText(isRecording ? "启动录像" : "结束录像"); isRecording = !isRecording; }); //显示二维码识别的对应设备的实时工作状态 } }