【问题标题】:Load a video from gallery into VideoView将画廊中的视频加载到 VideoView
【发布时间】:2015-11-16 19:34:20
【问题描述】:

我想要的与图像相同。当用户点击一个按钮(在我的例子中是 VideoView 本身)时,我想让他们打开 Gallery 并将视频加载到 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 出现了,所以我将 sg 与 Bundle 或 Uri 搞砸了。应该是显示在VideoView中吧?

【问题讨论】:

    标签: android android-videoview


    【解决方案1】:

    startactivity意图之后

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

    它会起作用的(我想是的)

    【讨论】:

      【解决方案2】:

      修改你的 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;
                 }
             }
      

      【讨论】:

        猜你喜欢
        • 2017-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多