Flutter 用于颤振的Agora.io通道加密不适用于跨平台
我尝试在使用Agora Flatter SDK执行视频/语音通话时使用通道加密。但是,当使用加密功能时,视频/语音呼叫将不适用于跨平台(例如:android call iOS)。但如果安卓系统调用安卓系统,或iOS调用iOS系统,则可以工作。下面是我在flatter(outgoingCall.dart)中的实现。多谢各位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
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文件夹中 你找到解决办法了吗?