2013-07-21 3 views
1

То, что я хочу, это то же самое с изображениями. Когда пользователь нажимает кнопку (в моем случае сам VideoView), я хочу разрешить им открывать галерею и загружать видео в VideoView.Загрузите видео из галереи в VideoView

vv_video = (VideoView) findViewById(R.id.vv_video); 
     vv_video.setOnTouchListener(new View.OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       Intent intent = new Intent(); 
       intent.setType("video/*"); 
       intent.setAction(Intent.ACTION_GET_CONTENT); 
       startActivityForResult(Intent.createChooser(intent, "Complete action using"), LOAD_VIDEO); 

       return false; 
      } 
     }); 


@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode != RESULT_OK) return; 

     switch (requestCode) { 

      case LOAD_VIDEO: 
       Toast.makeText(NewBucketActivity.this, "test", Toast.LENGTH_SHORT).show(); //this appears! 
       Bundle video = data.getExtras(); 
       mVideoCaptureUri = video.getParcelable("data"); 
       vv_video.setVideoURI(mVideoCaptureUri); 
       break; 
     } 
    } 

Но ничего не происходит, когда я выбираю видео в Галерее. Появится сообщение Toast msg, и я перепутал его с Bundle или Uri. Он должен отображаться в VideoView, верно?

ответ

0

После startactivity Намерение

Uri mVideoURI = data.getData(); 
    vv_video.setVideoURI(mVideoURI); 
    vv_video.start(); 

он будет работать (я так думаю)

0

модифицировать свой метод onActivityResult он будет работать.

@Override 
     public void onActivityResult(int requestCode, int resultCode, Intent data) { 
      if (resultCode != RESULT_OK) return; 

      switch (requestCode) { 

       case LOAD_VIDEO: 
        Toast.makeText(Pdf.this, "test", Toast.LENGTH_SHORT).show(); //this appears! 
       //  Bundle video = data.getData(); 
        Uri mVideoCaptureUri = data.getData(); 
        vv_video.setVideoURI(mVideoCaptureUri); 
        vv_video.start(); 
        break; 
      } 
     } 
Смежные вопросы