код для записи видео на андроид - PullRequest
3 голосов
/ 24 июля 2010

Я новичок в разработке для Android.

У меня было требование записи видео на устройстве Android ... когда я искал его, я не нашел ни одного подходящего кода, который работает. даже разработчики Android не предоставляют четкий код ..

Пожалуйста, если у кого-то есть ссылки или код .. поделитесь со мной ..

Спасибо ..

Ответы [ 2 ]

2 голосов
/ 13 ноября 2013

Поместите кнопку в XML-файл, где вы хотите открыть камеру для записи видео.

здесь я поставил код записи видео.

это создаст папку в вашей SD-карте / или, если SD-карта не вставлена, будет использоваться системная память Sytem. надеюсь, ты узнаешь ... Мне не нужно много объяснять по этому поводу.

, затем сопоставьте нижеприведенное прослушивающее устройство с кнопкой, созданной вами в 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 секунд ,,, если вы хотите записать видео для более чем этого, неограниченное время .. просто прокомментируйте эту строку .. хорошо

0 голосов
/ 14 июня 2011

Вы делаете это, используя класс Media Recorder, как это объясняется: Как я могу сделать запись видео на Android?

...