Android 调用系统相册选择视频 多种方法
时间: 2023-08-04 11:09:28 浏览: 234
Android 调用系统相册选择视频的方法有多种,以下是其中的几种:
1. 使用 ACTION_PICK Intent
使用 ACTION_PICK Intent 可以打开系统相册,选择视频文件并返回其 Uri。以下是示例代码:
```java
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, REQUEST_CODE_PICK_VIDEO);
```
在 onActivityResult() 中,您可以获取所选视频的 Uri:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_PICK_VIDEO && resultCode == RESULT_OK && data != null) {
Uri videoUri = data.getData();
// 处理所选视频
}
}
```
2. 使用 ACTION_GET_CONTENT Intent
使用 ACTION_GET_CONTENT Intent 也可以打开系统相册,选择视频文件并返回其 Uri。以下是示例代码:
```java
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("video/*");
startActivityForResult(Intent.createChooser(intent, "Select Video"), REQUEST_CODE_PICK_VIDEO);
```
在 onActivityResult() 中,您可以获取所选视频的 Uri:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_PICK_VIDEO && resultCode == RESULT_OK && data != null) {
Uri videoUri = data.getData();
// 处理所选视频
}
}
```
3. 使用 MediaStore.ACTION_VIDEO_CAPTURE Intent
使用 MediaStore.ACTION_VIDEO_CAPTURE Intent 可以打开系统相机应用程序,拍摄视频并返回其 Uri。以下是示例代码:
```java
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(intent, REQUEST_CODE_CAPTURE_VIDEO);
```
在 onActivityResult() 中,您可以获取拍摄的视频的 Uri:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_CAPTURE_VIDEO && resultCode == RESULT_OK && data != null) {
Uri videoUri = data.getData();
// 处理拍摄的视频
}
}
```
请注意,使用 MediaStore.ACTION_VIDEO_CAPTURE Intent 仅适用于拍摄视频,而不是选择现有视频文件。
以上是使用 Intent 调用系统相册选择视频的几种方法。您可以选择其中一种,根据您的应用程序需求进行使用。
阅读全文