AnyChat技术支持论坛

标题: 关于Android视频采集方向的修正 [打印本页]

作者: rendersliver    时间: 2016-10-8 21:45
标题: 关于Android视频采集方向的修正
我是在配置视频参数的时候加的这两句
AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_AUTOROTATION, configEntity.videoAutoRotation);
AnyChatCoreSDK.UserInfoControl(-1, AnyChatDefine.BRAC_USERINFO_CTRLCODE_ROTATION, AnyChatDefine.BRAC_ROTATION_FLAGS_ROTATION90, 0, "");

BRAC_ROTATION_FLAGS_ROTATION90这个是顺时针旋转90度但是不同的设备可能需要旋转的角度也不同,我怎么知道这第三个参数应该设置成多少?

作者: 佰锐科技-梁国桦    时间: 2016-10-9 08:51
您好,在开发测试阶段,可以增加一个顺时针旋转90度的按钮,测试要按多少次才能显示正常的画面,然后再在代码中调整
作者: rendersliver    时间: 2016-10-9 10:37
佰锐科技-梁国桦 发表于 2016-10-9 08:51
您好,在开发测试阶段,可以增加一个顺时针旋转90度的按钮,测试要按多少次才能显示正常的画面,然后再在代 ...

手机型号那么多,一台台的试?
另外,如果每台需要旋转的角度不一样,代码中如何设置?

作者: 佰锐科技-刘洋    时间: 2016-10-9 11:09
本帖最后由 佰锐科技-刘洋 于 2016-10-9 11:14 编辑

您好,这通常是由于不同的Android设备之间硬件(或驱动)的差异所导致的,AnyChat有提供视频方向修正的API接口。

可以在发送方进行修正,也可以在接收端进行修正,详情可参考:http://bbs.anychat.cn/forum.php? ... =520&extra=page%3D1

// 远程视频方向修正标志定义
var BRAC_ROTATION_FLAGS_MIRRORED       =        0x1000;        // 图像需要镜像翻转
var BRAC_ROTATION_FLAGS_ROTATION90     =        0x2000;        // 顺时针旋转90度
var BRAC_ROTATION_FLAGS_ROTATION180    =        0x4000;        // 顺时针旋转180度
var BRAC_ROTATION_FLAGS_ROTATION270    =        0x8000;        // 顺时针旋转270度

// 用户信息控制类型定义(API:BRAC_UserInfoControl 传入参数)
var BRAC_USERINFO_CTRLCODE_ROTATION    =         8;            // 让指定的用户视频在显示时旋转,wParam为旋转角度参数

作者: rendersliver    时间: 2016-10-9 11:49
佰锐科技-刘洋 发表于 2016-10-9 11:09
您好,这通常是由于不同的Android设备之间硬件(或驱动)的差异所导致的,AnyChat有提供视频方向修正的API ...

你没明白我的意思,你这个是设置旋转角度的,我问的是这个值该怎么设置?因为不同的手机旋转角度不一样,代码里怎么设置这个值?

或者说有没有方法能判断远程视频旋转了多少度,我让他向相反的方向旋转这个角度就可以了。
作者: 佰锐科技-刘洋    时间: 2016-10-9 12:06
这个没办法判断的 只能手动修改
作者: rendersliver    时间: 2016-10-9 13:32
佰锐科技-刘洋 发表于 2016-10-9 12:06
这个没办法判断的 只能手动修改

AnyChatCoreSDK.UserInfoControl(-1, AnyChatDefine.BRAC_USERINFO_CTRLCODE_ROTATION, AnyChatDefine.BRAC_ROTATION_FLAGS_ROTATION90, 0, "");
那手动修改的话,第三个参数应该设置成多少?
作者: 佰锐科技-刘洋    时间: 2016-10-9 13:45
这个设置多少需要根据你的画面做修改
作者: rendersliver    时间: 2016-10-9 14:29
佰锐科技-刘洋 发表于 2016-10-9 13:45
这个设置多少需要根据你的画面做修改

我用三台手机试了一下,旋转的角度不一样,90,180
代码里设置成旋转90还是180?
作者: 佰锐科技-刘洋    时间: 2016-10-9 14:36
旋转设置为90
作者: rendersliver    时间: 2016-10-9 14:53
佰锐科技-刘洋 发表于 2016-10-9 14:36
旋转设置为90

那180的怎么办,不是还是方向不对么
作者: 佰锐科技-刘洋    时间: 2016-10-9 15:06
180的就需要转两次了
作者: rendersliver    时间: 2016-10-9 16:20
佰锐科技-刘洋 发表于 2016-10-9 15:06
180的就需要转两次了

你这句话怎么理解?

代码里转一次还是转二次?
作者: 佰锐科技-刘洋    时间: 2016-10-9 16:51
代码里面转两次  
function rotation_local()
{
       
        var action_rotation=BRAC_ROTATION_FLAGS_ROTATION90;
        //BRAC_SetSDKOption(98,0);
    switch(rotationLocal)
        {
                case 0:
                        rotationLocal=90;
                        action_rotation=BRAC_ROTATION_FLAGS_ROTATION90;
                        break;
                case 90:
                        rotationLocal=180;
                        action_rotation=BRAC_ROTATION_FLAGS_ROTATION180;
                        break;
                case 180:
                        rotationLocal=270;
                        action_rotation=BRAC_ROTATION_FLAGS_ROTATION270;
                        break;
                case 270:
                        rotationLocal=0;
                        action_rotation=0;
                        break;
                }
                BRAC_UserInfoControl(-1, BRAC_USERINFO_CTRLCODE_ROTATION, action_rotation, 0, "");
                alert("旋转成功");
}
var rotationLocal=0;




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3