@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];
}
}
意思是这样吗?
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,这里内部是不是写死了呢?所以导致会显示花屏
7 个回复
做个好银
//设置通话时的屏幕方向(注意在mainfest也需设置相应activity的方向,需和此保持一致) callHelper.setVideoOrientation(EMVideoOrientation.EMLandscape);
3.0之后就找不到了,导致现在的视频监控横竖屏出问题了,谁能帮忙找一下
做个好银
做个好银
做个好银
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];
}
}
意思是这样吗?
做个好银
[已注销]
android:configChanges="orientation|keyboardHidden|screenSize"
重写Acitivity的onConfigurationChanged方法:
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig);
}
之后您可以按照你的方法设置视频的属性旋转
做个好银
public void onProcessData(byte bytes, Camera camera, int width, int height,int rotation) ;这里设置了width,height,但是如果旋转90度后的数据应该是width-heigth需要反过来,原来是width-height,现在是height-width,这里内部是不是写死了呢?所以导致会显示花屏