安卓获取相册所有支持分辨率,拍摄视频时默认选取最低分辨率
时间: 2024-09-15 12:05:51 浏览: 48
Android通过手机拍照或从本地相册选取图片设置头像
在Android中,获取相册所有照片和视频的支持分辨率通常是不需要直接操作的,因为系统已经处理了这些细节,应用程序通过MediaStore API访问用户媒体库时,会自动适应设备的能力和可用资源。
当你使用`MediaStore.Images.Media.EXTERNAL_CONTENT_URI`查询图片,或者`MediaStore.Video.Media.EXTERNAL_CONTENT_URI`查询视频时,系统的API会返回给你的每个媒体文件的基本信息,包括分辨率。例如:
```java
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = {MediaStore.Images.Media.DATA, MediaStore.Images.Media.RESOLUTION};
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
while (cursor.moveToNext()) {
int resolutionColumnIndex = cursor.getColumnIndex(MediaStore.Images.Media.RESOLUTION);
long resolution = cursor.getLong(resolutionColumnIndex);
// 这里你可以获取到每张图片的分辨率
}
```
对于拍摄视频,`MediaRecorder`类允许设置编码器和质量,而默认情况下,它会选择设备支持的最佳或可用的较低分辨率,以保证录制质量和存储空间的有效利用。
不过,如果你需要控制具体的拍摄分辨率,可以使用`MediaRecorder.setVideoEncoder()`和`setVideoProfile()`方法来自定义编码器和视频质量。注意这会影响最终的视频大小以及文件的兼容性。
阅读全文