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);
}
答案 0 :(得分:1)
为此,您应该使用MediaRecorder
类。
请看一下:
http://developer.android.com/reference/android/media/MediaRecorder.html
答案 1 :(得分:0)
我在root设备上找到了解决方法。首先,使用Intent以常规方式开始录制(使用startActivity()
,而不是startActivityForResult()
)。其次,使用'input keyevent 27'发送CAMERA密钥代码。这是魔法!它开始录音。您可能应该在录制结束后按下(代码4)。
整个键序列是:
CAMERA
:开始录制(计时器出现在屏幕上)。发送后发送一点
安全意图,DPAD_DOWN
,DPAD_RIGHT
,最后是DPAD_CENTER
需要验证射击!BACK
返回您的活动。