如何设置 CameraX (Android) 在 5 秒后停止录制? [英] How to set up CameraX (Android) to stop recording after 5 seconds?

查看:56
本文介绍了如何设置 CameraX (Android) 在 5 秒后停止录制?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我当前使用的代码.如果我想在 5 秒后自动停止录制视频,我不知道在哪里调用 mCameraView.stopRecording().目前的做法是通过按钮点击的setOnClickListener.

Here's the current code that I use. I don't know where to call mCameraView.stopRecording() if I want to stop recording the video automatically after 5 seconds. The current approach is through the setOnClickListener of the button click.

build.gradle

build.gradle

def camerax_version = "1.0.0-beta08"
    
implementation "androidx.camera:camera-core:${camerax_version}"
implementation "androidx.camera:camera-camera2:${camerax_version}"
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
implementation "androidx.camera:camera-view:1.0.0-alpha15"
implementation "androidx.camera:camera-extensions:1.0.0-alpha15"

MainActivity.java

MainActivity.java

CameraView mCameraView;

mCameraView.setCaptureMode(CameraView.CaptureMode.VIDEO);
mCameraView.startRecording(file, executor, new VideoCapture.OnVideoSavedCallback() {

    @Override
    public void onVideoSaved(@NonNull OutputFileResults outputFileResults) {
            // save video file
            }
    
    @Override
    public void onError(int videoCaptureError, @NonNull String message, @Nullable Throwable cause) {
           
            mCameraView.stopRecording();
}

推荐答案

延迟后运行代码

 final Handler handler = new Handler(Looper.getMainLooper());
    handler.postDelayed(new Runnable() {
      @Override
      public void run() {
         mCameraView.stopRecording();
      }
    }, 5000);

这篇关于如何设置 CameraX (Android) 在 5 秒后停止录制?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆