[英]How can I start the event by pressing "enter" on the keyboard instead of pressing the button "Start Race"."
[英]How can I enable auto start recording video without pressing record button?
我正在开发一个应用程序,我按下录制按钮,它会自动开始视频录制并在给定的持续时间后停止。 但是我发现只是打开视频录制,我必须手动单击录制按钮并保存视频,我必须单击确定按钮。
有没有办法自动做到这一点?
这是我的代码:
public class MainActivity extends AppCompatActivity {
private static int CAMERA_PERMISSION_CODE=100;
private static int VIDEO_RECORD_CODE=101;
public Uri videoPath;
UploadTask uploadTask;
Button record_btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
record_btn=findViewById(R.id.record_button);
storageReference=FirebaseStorage.getInstance().getReference();
if (isCameraPresent()){
Log.i("VIDEO_RECORD_TAG","Camera is Detected");
getCameraPermission();
}else{
Log.i("VIDEO_RECORD_TAG","No Camera is detected");
}
record_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
recordVideo();
}
});
}
private boolean isCameraPresent(){
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)){
return true;
}else {
return false;
}
}
private void getCameraPermission(){
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
== PackageManager.PERMISSION_DENIED){
ActivityCompat.requestPermissions(this, new String[]
{Manifest.permission.CAMERA},CAMERA_PERMISSION_CODE);
}
}
private void recordVideo(){
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 5);
startActivityForResult(intent,VIDEO_RECORD_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==VIDEO_RECORD_CODE){
if (resultCode==RESULT_OK){
assert data != null;
videoPath=data.getData();
Log.i("VIDEO_RECORD_TAG","Video is recorded and available at path" + videoPath);
}
else {
Log.i("VIDEO_RECORD_TAG","Video recording has some error");
}
}
}
您正在使用 Intent 来捕获视频。 这样做实际上是要求另一个应用程序为您录制视频。 当您这样做时,您必须按原样使用该应用程序,这需要按下按钮。 如果你想避免这种情况,你将不得不自己直接使用相机并处理记录。
顺便说一句 - 如果您使用 Intent 录制视频,则不需要相机权限。 如果你自己录制,你会这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.