我正在尝试计算使用我的自定义相机可以拍摄的剩余照片数量,并向用户显示该计数。我尝试使用以下代码:
```python ```
获取分辨率的方法。
```python ```
private void numberOfPhotosAvailable() {
long photosAvailable = 0;
StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath());
resolution=getResolution();
long bytesPerPhoto=resolution/1048576;
long bytesAvailable = (long) stat.getAvailableBlocksLong() * (long) stat.getBlockSizeLong();
long megAvailable = bytesAvailable / 1048576;
System.out.println("Megs :" + megAvailable);
photosAvailable = megAvailable / bytesPerPhoto;
tvAvailablePhotos.setText("" + photosAvailable);
}
获取分辨率的方法。
public long getResolution(){
long resolution=0;
Camera.Parameters params=mCamera.getParameters();
List<Camera.Size> sizes = params.getSupportedPictureSizes();
Camera.Size size = sizes.get(0);
int width=size.width;
int height=size.height;
resolution=width*height;
return resolution;
}
问题: 手机相机显示的数值和我的应用程序中显示的数值有很大的差异。
那么正确的处理方式是什么呢?
注意:我只会以可用最高质量来捕获图像,因此我只会按照一个分辨率计算数量。