时间:2010-07-24 11:38:20

标签: android video recording

2 个答案:

答案 0 :(得分:2)

在xml文件中放置一个按钮,您可以在其中打开相机进行视频录制。

这里我把视频录制代码。

这将在你的sdcard中创建一个文件夹/或者如果没有插入sdcard,它将使用sytem inbult内存。希望你知道..我不需要在此解释很多。

然后将点击侦听器的下方映射到您在xml中设计的按钮


    Button recordButton = 
            (Button) findViewById(R.id.CaptureVid);
    recordButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {

    String timestamp="1";
    String  timestamp = new SimpleDateFormat("MM-dd-yyyy_HH-mm-ss aa").format(Calendar.getInstance().getTime());
    File filepath = Environment.getExternalStorageDirectory();
    File dir = new File(filepath.getAbsolutePath()+ "/samplevideofolder/");
    dir.mkdirs();
    File mediaFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/samplevideofolder/Video_"+timestamp+".avi");  
    Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    Uri fileUri = Uri.fromFile(mediaFile);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
    intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30); 
    startActivityForResult(intent, VIDEO_CAPTURE);
        }
    });

将此代码放在下面的某个位置,作为主类

中的函数
protected void onActivityResult(int requestCode, int resultCode, Intent data) {


    if (requestCode == VIDEO_CAPTURE) {
      if (resultCode == RESULT_OK) {



         Toast.makeText(this, "Video saved to:\n" +data.getData(), Toast.LENGTH_LONG).show();



      } else if (resultCode == RESULT_CANCELED) {
            Toast.makeText(this, "Video recording cancelled.",  Toast.LENGTH_LONG).show();
      } else {
         //Toast.makeText(this, "Failed to record video",                        Toast.LENGTH_LONG).show();
        }
    }
}

就是这样,你完成了视频录制..

在上面的代码中你可以找到这样的一行。

intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);

这将在30秒后自动停止视频,,, 如果你想录制视频的时间不止于此,那么无限时间..只需评论该行..确定

答案 1 :(得分:0)

您可以使用Media Recorder类进行操作,因为它解释了:How can I capture a video recording on Android?