2010-07-24 4 views
3

им новый on android разработка.код для видеозаписи на android

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

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

Спасибо ..

+0

Код хорошо обсуждается здесь: http://stackoverflow.com/questions/5382212/capture-video-of-androids-screen/23037887#23037887 http://stackoverflow.com/questions/1817742/how- может-я-захватное-а-видео-запись-на-андроида –

ответ

2

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

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

это создаст папку на вашей SD-карте/или если никакая SD-карта не будет вставлена, она будет использовать память inbult 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(); 
     } 
    } 
} 

thats it, вы сделали запись видео.

в вышеуказанном коде вы можете найти такую ​​строку.

intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30); 

это автоматически останавливает видео через 30 секунд ,,, если вы хотите записать видео для более того, unlimietd время .. просто комментарий, что линия .. хорошо

Смежные вопросы