首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从图库中打开视频并将VideoView指向新活动

,可以通过以下步骤实现:

  1. 首先,需要在AndroidManifest.xml文件中添加适当的权限:
代码语言:txt
复制
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  1. 在你的Activity中,创建一个按钮或其他触发事件的UI元素,并为其添加点击事件监听器。在点击事件监听器中,打开图库选择视频文件:
代码语言:txt
复制
// 导入所需的类
import android.content.Intent;
import android.net.Uri;
import android.provider.MediaStore;

// 在你的Activity中的某个方法中添加以下代码
// 创建一个Intent,用于打开图库选择视频
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
intent.setType("video/*"); // 限制选择视频文件
startActivityForResult(intent, REQUEST_CODE_SELECT_VIDEO);
  1. 在同一个Activity中,重写onActivityResult方法,以获取从图库返回的视频文件URI,并将其传递给新的活动:
代码语言:txt
复制
// 在你的Activity中添加以下代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_CODE_SELECT_VIDEO && resultCode == RESULT_OK) {
        Uri videoUri = data.getData();

        // 创建一个新的Intent,将视频URI传递给新的活动
        Intent intent = new Intent(this, NewActivity.class);
        intent.putExtra("videoUri", videoUri.toString());
        startActivity(intent);
    }
}
  1. 在新的活动(NewActivity)中,获取传递过来的视频URI,并将其设置给VideoView进行播放:
代码语言:txt
复制
// 在新的活动(NewActivity)中添加以下代码
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_new);

    // 获取传递过来的视频URI
    String videoUriString = getIntent().getStringExtra("videoUri");
    Uri videoUri = Uri.parse(videoUriString);

    // 在布局文件中添加一个VideoView元素,并在代码中获取它的引用
    VideoView videoView = findViewById(R.id.videoView);

    // 设置VideoView的视频URI
    videoView.setVideoURI(videoUri);

    // 开始播放视频
    videoView.start();
}

以上步骤中,我们首先在原始的Activity中打开图库选择视频文件,并获取选择的视频文件的URI。然后,我们创建一个新的Intent,将视频URI作为额外数据传递给新的活动。在新的活动中,我们获取传递过来的视频URI,并将其设置给VideoView进行播放。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):提供高可靠、低成本的云端存储服务,适用于存储和处理各种类型的媒体文件。详情请参考:https://cloud.tencent.com/product/cos
  • 腾讯云移动直播(LVB):提供高效、低延迟的移动直播服务,可用于实时传输和播放音视频内容。详情请参考:https://cloud.tencent.com/product/lvb
  • 腾讯云云服务器(CVM):提供灵活可扩展的云服务器实例,适用于托管应用程序和网站。详情请参考:https://cloud.tencent.com/product/cvm
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券