关于视频录制预览摄像头拉伸问题
2017-07-22 18:28
465 查看
我再写项目的时候,后置摄像头预览不被拉伸,前置摄像头拉伸
我在切换前后摄像头的方法中,当后置摄像头变为前置摄像头
我在切换前后摄像头的方法中,当后置摄像头变为前置摄像头
//现在是后置,变更为前置 if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {//代表摄像头的方位,CAMERA_FACING_FRONT前置 CAMERA_FACING_BACK后置 mCamera.stopPreview();//停掉原来摄像头的预览 mCamera.release();//释放资源 mCamera = null;//取消原来摄像头 mCamera = Camera.open(i);//打开当前选中的摄像头 ViewGroup.LayoutParams layoutParams = preview.getLayoutParams(); try { mCamera.setPreviewDisplay(mPreview.getHoder());//通过surfaceview显示取景画面 // mCamera.setDisplayOrientation(90); // Camera.Parameters parameters=mCamera.getParameters(); // mCamera.setDisplayOrientation(getPreviewDegree(ChatRoomActivity.instance));// 设置相机的方向 // parameters.set("orientation", "portrait"); // mCamera.setParameters(parameters); try { //摄像头画面显示在Surface上 if (mCamera != null) { Camera.Parameters parameters = mCamera.getParameters(); List<Camera.Size> sizes = parameters.getSupportedPreviewSizes(); int[] a = new int[sizes.size()]; int[] b = new int[sizes.size()]; for (int y = 0; y < sizes.size(); y++) { int supportH = sizes.get(y).height; int supportW = sizes.get(y).width; a[y] = Math.abs(supportW - screenHeight); b[y] = Math.abs(supportH - screenWidth); Log.d(TAG,"supportW:"+supportW+"supportH:"+supportH); } int minW=0,minA=a[0]; for( int y=0; y<a.length; y++){ if(a[y]<=minA){ minW=y; minA=a[y]; } } int minH=0,minB=b[0]; for( int y=0; y<b.length; y++){ if(b[y]<minB){ minH=y; minB=b[y]; } } Log.d(TAG,"result="+sizes.get(minW).width+"x"+sizes.get(minH).height); List<Integer> list = parameters.getSupportedPreviewFrameRates(); parameters.setPreviewSize(sizes.get(minW).width,sizes.get(minH).height); // 设置预览图像大小 parameters.setPreviewFrameRate(list.get(list.size() - 1)); mCamera.setParameters(parameters); mCamera.setDisplayOrientation(90); mCamera.startPreview(); } } catch (Exception e) { if (mCamera != null) mCamera.release(); mCamera = null; } } catch (IOException e) { e.printStackTrace(); } mCamera.startPreview();//开始预览 cameraPosition = 0; break; }
相关文章推荐
- 关于视频录制预览摄像头拉伸问题
- 全屏录制播放控件--Android 开发中关于视频录制和播放的诸多问题处理
- 关于flex3+fms3.5 录制音视频流时的声音问题
- v310 摄像头调试笔记---QQ视频对方发现颜色不对, 有红块, 并且本地预览闪烁的问题
- Android中关于自定义相机预览界面拉伸问题
- android视频录制MediaRecorder预览旋转角度问题
- 摄像头开启后视频的录制与预览
- 最近滴日子相当充实啊..关于视频录制的帧率问题、opencv中文字以及部分很主观的算法唠嗑[2011.8.4]
- 关于自定义相机预览界面拉伸问题
- OpenCV 调用摄像头录制指定分辨率视频----(解决保存的视频仅有6Kb的问题)
- 关于andriod录制视频上传服务器的问题,小白还请赐教
- 关于surfaceView视频的拉伸问题
- Android中小视频录制,预览
- Android切换前后置摄像头并录制视频
- javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)
- Android——UI篇:关于上次发的博文,6.0以上系统视频压缩出现的各种问题解决。
- 问题解决:部分海康网络摄像头无法实现视频流解码与实时预览
- 关于linux调用多个usb摄像头时无法工作的问题
- 解决Android MediaRecorder录制视频过短问题
- 自定义照相机实现前后切换摄像头以及拍照预览各种问题解决