2014-12-08 4 views
0

Я использую MediaStore.ACTION_VIDEO_CAPTURE для захвата видео. Когда это будет сделано, и нажата кнопка «Стоп», я хочу позвонить onActivityResult в свою деятельность.Вызов onActivityResult, когда нажата кнопка остановки при захвате видео.

String mCurrentPhotoPath = video.getAbsolutePath(); 

    Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
    if (takeVideoIntent.resolveActivity(getPackageManager()) != null) { 
     // Create the File where the photo should go 
     File videoFile = video; 
     // Continue only if the File was successfully created 
     if (videoFile != null) { 
      takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, 
        Uri.fromFile(videoFile)); 
      startActivityForResult(takeVideoIntent, VIDEO_CAPTURE); 
     } 
    } 
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
    File f = new File(mCurrentPhotoPath); 
    videoUri = Uri.fromFile(f); 
    mediaScanIntent.setData(videoUri); 
    this.sendBroadcast(mediaScanIntent); 

Это вызов моего видеомагнитофона. Как я могу запустить мой onActivityResult. Могу ли я как-то переопределить щелчок onStop в рекордере.

P.S. У меня есть захват изображения, который работает нормально, но у него есть кнопки Discard/Save. В режиме «Сохранить» он возвращается к onActivityResult. С уважением ко всем стекирующим потокам.

+0

... или вы можете просто написать код, который вы хотите сделать в 'onActivityResult', в другом методе и вызвать его с помощью кнопки остановки? – DroidDev

+0

Thats fine, но где метод onStop для захвата видео. –

+0

Как это реализовать. –

ответ

0

Вы не можете этого сделать. Когда пользователь завершает или отменяет сеанс видеозаписи, вызывается метод вызывающей операции onActivityResult(). Вы не можете получить доступ к другому приложению. И есть десяток различных приложений для камер, которые потенциально могут обрабатывать ваш запрос.

Вы можете напрямую обратиться к Camera api и реализовать эту функцию в своем приложении. Но вы действительно не можете ожидать, что другие приложения будут делать именно то, что вы хотите.