Flutter 用于颤振的Agora.io通道加密不适用于跨平台

Flutter 用于颤振的Agora.io通道加密不适用于跨平台,flutter,dart,agora.io,Flutter,Dart,Agora.io,我尝试在使用Agora Flatter SDK执行视频/语音通话时使用通道加密。但是,当使用加密功能时,视频/语音呼叫将不适用于跨平台(例如:android call iOS)。但如果安卓系统调用安卓系统,或iOS调用iOS系统,则可以工作。下面是我在flatter(outgoingCall.dart)中的实现。多谢各位 Future<void> initialize() async { if (APP_ID.isEmpty) { setState(() { _infoStri

我尝试在使用Agora Flatter SDK执行视频/语音通话时使用通道加密。但是,当使用加密功能时,视频/语音呼叫将不适用于跨平台(例如:android call iOS)。但如果安卓系统调用安卓系统,或iOS调用iOS系统,则可以工作。下面是我在flatter(outgoingCall.dart)中的实现。多谢各位

Future<void> initialize() async {
 if (APP_ID.isEmpty) {
 setState(() {
 _infoStrings.add('APP_ID missing, please provide your APP_ID in settings.dart',);
_infoStrings.add('Agora Engine is not starting');
  });
 return;
 }

 await _initAgoraRtcEngine();
 _addAgoraEventHandlers();
 AgoraRtcEngine.setAudioProfile(AudioProfile.Default, AudioScenario.Default);
 await encrypt(myChannel); //this is where i call encrypt function
 await AgoraRtcEngine.joinChannel(null, myChannel, null, 0);
}


Future<void> encrypt(String myChannel) async {
await AgoraRtcEngine.setEncryptionSecret(myChannel);
await AgoraRtcEngine.setEncryptionMode("aes-256-xts");

print('caller encrypted: ' + myChannel + ' in aes-256-xts');
}
Future initialize()异步{
如果(应用程序ID为空){
设置状态(){
_infoStrings.add('APP_ID缺失,请在settings.dart'中提供你的APP_ID,);
_add('Agora引擎未启动');
});
返回;
}
等待_initAgoraRtcEngine();
_addAgoraEventHandlers();
AgorartEngine.setAudioProfile(AudioProfile.Default,AudioScenario.Default);
等待加密(myChannel);//这是我调用加密函数的地方
等待AgorartEngine.joinChannel(null,myChannel,null,0);
}
未来加密(字符串myChannel)异步{
等待一个RARTCEngine.setEncryptionSecret(myChannel);
等待AgorartEngine.setEncryptionMode(“aes-256-xts”);
打印('aes-256-xts中的调用方加密:'+myChannel+');
}

您的代码似乎正确地加密了您的频道ID


但要通过跨平台加密此文件,您需要确保分别将libagora-crypto.so和libcrypto.a文件添加到Android和iOS文件夹中

你找到解决办法了吗?