
# 常见问题
- **初始化引擎时，countryCode应该如何填写？**
  countryCode表示区域码，如果对应的是GLOBAL类型，则直接填空字符串，即""，如果是CN类型，则可以填"CN"。具体请参见[国家码对照表](https://support.huaweicloud.com/csdk-rtc/rtc_05_0352.html)。
  
- **初始化引擎时，domain应该如何填写？**
  该字段已废弃，不需要再传值。
  
- **加入房间时，username必须填吗？**
  必填。
  
- **应用关闭鉴权时，加入房间还需要填鉴权参数吗？**
  不需要填。
  
- **加入房间失败时，如何解决？**
  首先通过返回的[客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0035.html)进行分析，主要有以下几个原因：
  - 网络问题，您需要确认网络是否正常运行。
  
  - 鉴权问题，应用默认开启鉴权，您需要确保鉴权生成正确，参数合理传入，且保证没过期，需要注意ctime参数的设置，具体可参考[接入鉴权](https://support.huaweicloud.com/csdk-rtc/rtc_05_0348.html)。
  
  - 参数问题，确认关键参数是否填写，以及是否正确填写，比如username是必填的，countryCode无特殊需求，则填空字符串。countryCode填写请参见[国家码对照表](https://support.huaweicloud.com/csdk-rtc/rtc_05_0352.html)。
   
- **如何进行屏幕共享？**
  可以参考屏幕共享场景，按照正确时序使用API。
  
- **如何进行视频自渲染显示正常图像？**
  在开启自渲染后，通过[onRenderExternalVideoFrame](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section1060482810108)接口接收SDK回调的图像信息，需要自行解析其中的图像信息，包括尺寸、格式、数据。以YUV格式举例，SDK返回的YUV格式是YUV420，故Y、U、V三分量需要按照下面的方式获取：
  ```
  ByteBuffer buffer = videoFrame.getBuffer();
  byte[] data = new byte[buffer.limit];
  buffer.get(data);
  byte[] yData = new byte[width * height];
  System.arraycopy(data, 0, yData, 0, width * height);
  byte[] uData = new byte[width * height / 4];
  System.arraycopy(data, width * height, uData, 0, width * height / 4);
  byte[] vData = new byte[width * height / 4];
  System.arraycopy(data, width * height * 5 / 4, vData, 0, width * height / 4);
  ```
  得到YUV数据后，可以选择OpenGL或者其他能够播放YUV格式图像的方式进行渲染
  
 
