![android–onPictureTaken byte []在某些设备中体积小,第1张 android–onPictureTaken byte []在某些设备中体积小,第1张](/aiimages/android%E2%80%93onPictureTaken+byte+%5B%5D%E5%9C%A8%E6%9F%90%E4%BA%9B%E8%AE%BE%E5%A4%87%E4%B8%AD%E4%BD%93%E7%A7%AF%E5%B0%8F.png)
我正在使用SurfacevIEw创建自定义相机应用程序.在我的应用程序中我拍摄的图片,但它在注4中完美地工作,它在xiaomi移动中有问题,我不知道为什么会发生这种情况.
注4 onPictureTaken字节[]大小是原始的.
但
xiaomi onPictureTaken Byte []大小始终为160×120
这是我的代码
PictureCallback mPicture = new PictureCallback() { @OverrIDe public voID onPictureTaken(byte[] data, Camera camera) { final BitmapFactory.Options sizeOptions = new BitmapFactory.Options();// sizeOptions.inJustDecodeBounds = false; sizeOptions.inScaled = false;// sizeOptions.inDither = false; sizeOptions.inPreferredConfig = Bitmap.Config.ARGB_8888; BitmapFactory.decodeByteArray(data, 0, data.length, sizeOptions); Log.d("onPictureTaken", "Bitmap is " + sizeOptions.outWIDth + "x" + sizeOptions.outHeight); int angletoRotate = getRoatationAngle(currentCameraID); Log.d("Tag", "Rotation angle: " + angletoRotate); if (currentCameraID == Camera.CameraInfo.CAMERA_FACING_FRONT) angletoRotate = angletoRotate + 180; final String albumID = Util.ReadSharePrefrence(getActivity(), Constant.shred_PR.KEY_Current_AlbumID); new SavePhotoTask(albumID, data, angletoRotate, isChecked, orIEntation).executeOnExecutor(AsyncTask.THREAD_POol_EXECUTOR); camera.startPrevIEw(); } };解决方法:
我发帖约3个小时,但没有人评论.
我弄清楚问题是什么.它取决于参数部分Reference
这是我的代码
private voID initPrevIEw(int wIDth, int height) { if (camera != null && prevIEwHolder.getSurface() != null) { try { camera.setPrevIEwdisplay(prevIEwHolder); } catch (Throwable t) {// Log.e("PrevIEwDemo-surfaceCallback","Exception in setPrevIEwdisplay()"); } Camera.Parameters parameters = camera.getParameters(); Camera.Size size = getBestPrevIEwSize(wIDth, height, parameters); parameters.setJpegQuality(90); if (size != null) { Log.d("", "initPrevIEw: wIDth = "+size.wIDth+ " height = "+size.height); parameters.setPrevIEwSize(size.wIDth, size.height); parameters.setPictureSize(size.wIDth, size.height); camera.setParameters(parameters); cameraConfigured = true; } } } 总结 以上是内存溢出为你收集整理的android – onPictureTaken byte []在某些设备中体积小全部内容,希望文章能够帮你解决android – onPictureTaken byte []在某些设备中体积小所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)