注册

3.2.3的EMVideoCallHelper#setVideoOrientation这个函数取消了换成了什么方法了,急!

已邀请:
2.0 文档里有这项
//设置通话时的屏幕方向(注意在mainfest也需设置相应activity的方向,需和此保持一致) callHelper.setVideoOrientation(EMVideoOrientation.EMLandscape);
 
3.0之后就找不到了,导致现在的视频监控横竖屏出问题了,谁能帮忙找一下
能否具体一点呢,其他代码是指发送摄像头数据部分代码吗?有没有技术人员联系方式,在线帮忙解答一下。
@Override public void onProcessData(byte[] bytes, Camera camera, int width, int height) { 
byte[] dst_bytes = new byte[bytes.length]; 
CameraUtils.YUV420spRotate180 (dst_bytes, bytes, width, height); 
// 视频旋转180
 for (int i = 0; i < bytes.length; i++)
 { 
bytes[i] = dst_bytes[i]; 

}
意思是这样吗?
现在出现一个问题,发送摄像头数据时,手机端接收到的数据差了90度,想发送摄像头数据前先旋转个90度再发送,但是旋转过后手机端视频一直是花屏状态。
 在mainifest文件里对负责播放的Activity添加以下属性
android:configChanges="orientation|keyboardHidden|screenSize"
  重写Acitivity的onConfigurationChanged方法:
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); 
}
之后您可以按照你的方法设置视频的属性旋转
 

public class MLcameraDataProcessor implements EMcallManager.EMCameraDataprocessor{
bytey Delta=0;
synchronized void setyDelta(byte yDelta){
this.yDelta()=yDelta;
}

@Override
public void onProcessData(byte[] bytes, Camera camera, int width, int height,int rotation) {
int wh = width * height;
for (int i = 0; i <wh; i++)
{
int d= (adta[i] & 0xff)+ yDelta;
d = d < 16 ? 16 : d;
d = d > 235 ? 235 :d;
data[i] = (byte) d

}
}
}

 
你好,我找到了问题所在,但是找不到解决方法,问题在于
public void onProcessData(byte bytes, Camera camera, int width, int height,int rotation) ;这里设置了width,height,但是如果旋转90度后的数据应该是width-heigth需要反过来,原来是width-height,现在是height-width,这里内部是不是写死了呢?所以导致会显示花屏

要回复问题请先登录注册