setCustomizeEncryptHandler method
@detail api @author wangjunlin.3182 @brief 设置自定义加密和解密方式。 @param handler 自定义加密 handler,需要实现里面的加密和解密方法。参看 ByteRTCEncryptHandler{@link #ByteRTCEncryptHandler}。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ByteRTCReturnStatus{@link #ByteRTCReturnStatus} 获得更多错误说明 @note - 该方法与 setEncryptInfo:key:{@link #ByteRTCEngine#setEncryptInfo:key} 为互斥关系,即按照调用顺序,最后一个调用的方法为最终生效的版本。 - 该方法必须在调用 joinRoom:userInfo:userVisibility:roomConfig:{@link #ByteRTCRoom#joinRoom:userInfo:userVisibility:roomConfig} 之前调用,可重复调用,以最后调用的参数作为生效参数。 - 无论加密或者解密,其对原始数据的长度修改,需要控制在 180% 之间,即如果输入数据为 100 字节,则处理完成后的数据必须不超过 180 字节,如果加密或解密结果超出该长度限制,则该音视频帧可能会被丢弃。 - 数据加密/解密为串行执行,因而视实现方式不同,可能会影响到最终渲染效率,是否使用该方法,需要由使用方谨慎评估。
Implementation
FutureOr<int> setCustomizeEncryptHandler(
id<ByteRTCEncryptHandler> handler) async {
return await nativeCall('setCustomizeEncryptHandler:', [handler]);
}