我如何用CameraKit保存视频

问题描述 投票:0回答:1

我正在使用CameraKit,我可以拍照,但我不知道如何录制视频。我在文档中搜索,我发现了一个事件和两种方法来启动和停止视频,我在FFMPEG中搜索,但我没有实现,如果有任何解决方案,请帮助我。

cameraKitView.captureVideo(VideoCallback callback)
cameraKitView.startVideo()
cameraKitView.stopVideo()
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_capture = findViewById(R.id.btn_capture);
        cameraKitView = findViewById(R.id.camera);
        // btn_capture.setOnClickListener(photoOnClickListener);

        btn_capture.setOnClickListener(videoOnClickListener);

    }

 private View.OnClickListener videoOnClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
                   cameraKitView.captureVideo(new CameraKitView.VideoCallback() {
                @Override
                public void onVideo(final CameraKitView cameraKitView, final Object o) {
                    cameraKitView.startVideo();
 cameraKitView.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            //cameraKitView.stopVideo();
                            Toast.makeText(MainActivity.this, "video stoped", Toast.LENGTH_SHORT).show();
                        }
                    }, 2500);

           }
};


<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/frameLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.camerakit.CameraKitView
        android:id="@+id/camera"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"/>

    <Button
        android:id="@+id/btn_capture"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="bottom|center"
        android:layout_marginBottom="20dp"
        android:background="@drawable/rounded_button"
        android:padding="15dp" />

    <Button
        android:id="@+id/btn_settings"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_gravity="bottom"
        android:layout_marginLeft="34dp"
        android:layout_marginBottom="37dp"
        android:background="@drawable/ic_settings"
        />

</FrameLayout>
android android-activity android-camera android-manifest android-ffmpeg
1个回答
0
投票

以下示例在Kotlin中,但您也可以轻松理解Java的术语。

使用以下稳定版本的CameraKit

implementation "com.wonderkiln:camerakit:0.13.5"

然后您可以使用以下方法捕获视频

cameraKitView.captureVideo("YOUR_VIDE_FILE_NAME_WITH_EXTENTION(.mp4)") { cameraKitVideo ->
    if (cameraKitVideo.videoFile != null) {
        // Save video or post it to server
    }
}

只要我知道,上面的方法只适用于稳定版的CameraKit。它不包含在较新的(beta)版本的库中。

© www.soinside.com 2019 - 2024. All rights reserved.