我正在使用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>
答案 0 :(得分: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版本的库中。