【问题标题】:How i save video with CameraKit我如何使用 CameraKit 保存视频
【发布时间】:2019-04-30 11:59:46
【问题描述】:

我正在使用 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>

【问题讨论】:

  • 您使用的是哪个版本的相机套件?
  • @Dhaval 我使用的是 1.0.0-beta3.11 版本
  • 当我使用相同的版本实现时,我遇到了和你现在一样的问题。如果我没记错的话,他们目前还没有在 beta 3.11 版本中实现视频录制功能。如果您尝试阅读文档,您也不会找到任何与视频录制相关的链接。所以在我看来,你现在应该使用稳定版(0.13.4)。
  • @Dhaval 稳定版是否支持录像??以及您如何解决问题
  • 是的。稳定版确实包含录制视频的方法。我将发布我的代码。

标签: android android-activity android-camera android-manifest android-ffmpeg


【解决方案1】:

以下示例使用 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。它不包含在较新(测试版)的库中。

【讨论】:

  • 我收到错误:cameraKitVideo 需要显式类型 - 尝试使用 cameraKitVideo:CameraKitVideo,不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-06
  • 2016-01-08
  • 2019-06-13
相关资源
最近更新 更多