当我进行视频通话时,视频与SurfaceView不匹配,视频被拉伸。我该怎么做才能让它充满SurfaceView?谢谢你的任何建议!
答案 0 :(得分:0)
要获得设备的宽度和高度,您应该使用此
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
然后将这些数据放入MediaFormatVideo中,就像这样
VidCodecParam para = ((Endpoint)(ep)).getVideoCodecParam("H264");
MediaFormatVideo encFmt = para.getEncFmt(); encFmt.setWidth(width);
encFmt.setHeight(height); ep.setVideoCodecParam("H264", para);
你也可以用这两种方法获得宽度和高度
public static int getScreenWidth() {
return Resources.getSystem().getDisplayMetrics().widthPixels;
}
public static int getScreenHeight() {
return Resources.getSystem().getDisplayMetrics().heightPixels;
}
然后做同样的事情
VidCodecParam para = ((Endpoint)(ep)).getVideoCodecParam("H264");
MediaFormatVideo encFmt = para.getEncFmt(); encFmt.setWidth(getScreenWidth());
encFmt.setHeight(getScreenHeight()); ep.setVideoCodecParam("H264", para);