android - 如何查看从图库中选择的 Activity 中的视频

标签 android video

我正在 Android 应用程序中实现视频上传功能。我可以从图库中选择一个视频,但我无法在我的 Activity 中查看它。我不知道如何将图库中的视频放到 Activity 的视频 View 中 我从图库中选择视频的代码是:

mChoose.setOnClickListener(new View.OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_GET_CONTENT);
            intent.addCategory(Intent.CATEGORY_OPENABLE);
            intent.setType("video/*");
            startActivityForResult(intent, REQUEST_ID);
        }
    });

onActivityResult方法代码

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    InputStream stream = null;
    if(requestCode == REQUEST_ID && resultCode == Activity.RESULT_OK)
    {
        try
        {
            stream = getContentResolver().openInputStream(data.getData());
            //System.out.println(data.getData());
            mVideo.setVideoPath(path);
            path = getRealPathFromURI(getApplicationContext(), data.getData());
            //getRealPathFromURI is method in class to obtain path from uri
            System.out.println(path);

        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        if(stream != null)
        {
            try
            {
                stream.close();
            }
            catch(Exception ex)
            {
                ex.printStackTrace();
            }
        }
    }
}

最佳答案

使用此代码

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mVideo = (VideoView) findViewById(R.id.videoView);
        Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        intent.setType("video/*");
        startActivityForResult(intent, 1);
    }
 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        if(requestCode == 1 && resultCode == Activity.RESULT_OK)
        {
            try
            {
                String path = data.getData().toString();
                mVideo.setVideoPath(path);
                mVideo.requestFocus();
                mVideo.start();

            }
            catch(Exception ex)
            {
                ex.printStackTrace();
            }
        }
    }

关于android - 如何查看从图库中选择的 Activity 中的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27030698/

相关文章:

android - 停止的前台服务自行重启

android - 在 Fragment 之间发生变化时调用 Activity 中的方法

google-app-engine - 从 Google Cloud 流式传输视频

google-chrome - 从命令行使用 ffmpeg 创建与 Chrome 兼容的 .mp4

android - 应用程序已在运行时激活 GPS

android - 在 android 的 build.gradle 中添加位置服务时出现问题

android - 在 Android 中绘制叠加层(系统范围)

video - ffmpeg 状态和质量/cuda (CPU/GPU)

video - 使用ffmpeg从mxf视频格式提取YUV色彩空间和无损压缩的理想图像格式是什么

ios - 如何在没有全屏模式的情况下播放视频?