zoukankan      html  css  js  c++  java
  • android Camera 录像时旋转角度

    录像保存时,旋转角度要与所拍录像时的角度保持一致,否则,看起来就会出现角度不度,巅倒等问题。

    一般在开始录像之前会先去初始化录像

    initializeRecorder 中会去读取当前的录像或拍照的旋转角度,并跟据当前的角度来选择一个角度写到所拍

    照片或者视频的 exif 信息中去。

     1 // See android.hardware.Camera.Parameters.setRotation for  
     2         // documentation.  
     3         // Note that mOrientation here is the device orientation, which is the opposite of  
     4         // what activity.getWindowManager().getDefaultDisplay().getRotation() would return,  
     5         // which is the orientation the graphics need to rotate in order to render correctly.  
     6         int rotation = 0;  
     7         if (mOrientation != OrientationEventListener.ORIENTATION_UNKNOWN) {  
     8             CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];  
     9             if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {  
    10                 rotation = (info.orientation - mOrientation + 360) % 360;  
    11             } else {  // back-facing camera  
    12                 rotation = (info.orientation + mOrientation) % 360;  
    13             }  
    14         } else {  
    15             //Get the right original orientation  
    16             CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];  
    17             rotation = info.orientation;  
    18         }  
    19 //        mMediaRecorder.setOrientationHint(rotation);  
    20   
    21         if (mCameraId == CameraInfo.CAMERA_FACING_FRONT) {  
    22             if (rotation == 270 || rotation == 90 || rotation == 180) {  
    23                 mMediaRecorder.setOrientationHint(180);  
    24             } else {  
    25                 mMediaRecorder.setOrientationHint(0);  
    26             }  
    27         } else {  
    28             if (rotation == 180){  
    29                 mMediaRecorder.setOrientationHint(180);  
    30             }else{  
    31                 mMediaRecorder.setOrientationHint(0);  
    32             }  
    33         }  
  • 相关阅读:
    SQL Server 2008 Windows身份验证改为混合模式身份验证
    SQL中给datetime类型变量赋值
    结婚三周年特此@Mark一下
    搞笑的【国庆出游五大注意事项】
    利用SVNListParentPath增加http浏览仓库根目录的功能
    如果年底买不到CC就出手小指吧
    svn备份策略
    缺乏配置管理造成的常见问题
    高速公路开车必看的注意事项
    山雨欲来踏上Java学习之路
  • 原文地址:https://www.cnblogs.com/zl1991/p/5203296.html
Copyright © 2011-2022 走看看