Android-如何在调用摄像头时自动开始录制视频

Android-如何在调用摄像头时自动开始录制视频,android,video,camera,mediarecorder,Android,Video,Camera,Mediarecorder,Android开发人员有一些简单的代码,描述了如何通过Intents启动摄像机 现在,如果您只想启动相机并等待用户按下红色的“REC”按钮,这是很好的 但是我想通过Intent给摄像机打电话,告诉它开始以编程方式录制 我该怎么做? 我是否在Intent命令中传递某种start()方法 (如果做不到,请给我一个简单的代码,可以设置为自动录制视频-我一直在网上搜索,但是所有关于这个问题的代码片段都不起作用) 为此,应使用MediaRecorderclass 请看一下这个: 我在根设备上找到了一个解决

Android开发人员有一些简单的代码,描述了如何通过Intents启动摄像机

现在,如果您只想启动相机并等待用户按下红色的“REC”按钮,这是很好的

但是我想通过Intent给摄像机打电话,告诉它开始以编程方式录制

我该怎么做? 我是否在Intent命令中传递某种start()方法

(如果做不到,请给我一个简单的代码,可以设置为自动录制视频-我一直在网上搜索,但是所有关于这个问题的代码片段都不起作用)


为此,应使用
MediaRecorder
class

请看一下这个:


我在根设备上找到了一个解决方法。首先,按照通常的方式开始录制(使用
startActivity()
,而不是
startActivityForResult()
)。其次,发送带有“input keyevent 27”的摄像头钥匙代码。太神奇了!开始录音。您可能应该在录音结束后按back(代码4)

整个按键顺序是:

  • 摄像机
    :开始录制(计时器出现在屏幕上)。发送后稍晚发送 安全意图
  • DPAD_向下
    DPAD_向右
    最后是
    DPAD_中心
    需要验证射击
  • BACK
    返回您的活动

  • 我知道MediaRecorder类,并且已经阅读了它们在开发指南中提供的代码示例。但是代码示例缺乏精确性。很难理解如何使用代码。您能告诉我如何发送输入键事件吗?
    private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
    private Uri fileUri;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    // create Intent to take a picture and return control to the calling application
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    
    fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image
    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
    
    // start the image capture Intent
    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
    }