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

时间:2011-10-31 11:34:49

标签: android video camera mediarecorder

Android Dev有一些简单的代码描述如何通过Intents启动摄像机。

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

但我想通过Intent调用摄像机并告诉它以编程方式开始录制。

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

(如果无法完成,请向我显示一个简单的代码位,可以设置为自动录制视频 - 我一直在网上搜索,但所有关于此问题的代码片段都不起作用)

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);
}

2 个答案:

答案 0 :(得分:1)

为此,您应该使用MediaRecorder类。

请看一下:

http://developer.android.com/reference/android/media/MediaRecorder.html

答案 1 :(得分:0)

我在root设备上找到了解决方法。首先,使用Intent以常规方式开始录制(使用startActivity(),而不是startActivityForResult())。其次,使用'input keyevent 27'发送CAMERA密钥代码。这是魔法!它开始录音。您可能应该在录制结束后按下(代码4)。

整个键序列是:

  1. CAMERA:开始录制(计时器出现在屏幕上)。发送后发送一点 安全意图,
  2. DPAD_DOWNDPAD_RIGHT,最后是DPAD_CENTER 需要验证射击!
  3. BACK返回您的活动。