使用Agora Flutter SDK执行视频/语音通话时,我尝试使用频道加密。但是,当使用加密功能时,视频/语音呼叫将无法用于跨平台(例如:android呼叫iOS)。但是如果android调用android或iOS调用iOS,则可以工作。下面是我在flutter中的实现(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');
}
答案 0 :(得分:0)
您的代码似乎对加密您的频道ID是正确的。
但是要通过跨平台对此进行加密,需要确保分别将libagora-crypto.so和libcrypto.a文件添加到Android和iOS文件夹中。