Flutter 开放视频呼叫颤振
在Flatter中打开本机手机上的视频通话功能是否有解决方案?我看过Agora和其他人,但没有一个像我们所需要的那样工作。这对研究和提出来说相当烦人,就这样。这是我能想到的最好的解决方案,同时保持高复杂性和付费SDK的解决方案之外 首先,在启动视频通话之前,您必须区分两种平台(iOS/Android)。因为两种平台都没有统一的解决方案Flutter 开放视频呼叫颤振,flutter,dart,Flutter,Dart,在Flatter中打开本机手机上的视频通话功能是否有解决方案?我看过Agora和其他人,但没有一个像我们所需要的那样工作。这对研究和提出来说相当烦人,就这样。这是我能想到的最好的解决方案,同时保持高复杂性和付费SDK的解决方案之外 首先,在启动视频通话之前,您必须区分两种平台(iOS/Android)。因为两种平台都没有统一的解决方案 导入'dart:io'; if(Platform.isAndroid){ //Android视频通话 }else if(Platform.isIOS){ //iO
导入'dart:io';
if(Platform.isAndroid){
//Android视频通话
}else if(Platform.isIOS){
//iOS视频通话
}
网间网操作系统
- 安装臭名昭著的酒吧
- 您需要使用(请参阅完整的iOS URL方案参考或)
- 文本示例:
这将启动facetime视频通话至14085551234(您也使用电子邮件而不是电话号码)facetime:14085551234
import'package:url_launcher/url_launcher.dart';
最终字符串url='facetime:$phoneNumber';
如果(等待canLaunch(url)){
等待发射(url);
}否则{
抛出“无法启动$url”;
}
这项工作出人意料地好。在这种情况下,您可以将$phoneNumber
变量替换为$userEmail
变量
安卓
- 安装发布
- 如果您正在使用,或者只是在没有权限的情况下使用,请添加权限并向用户显示其提示
import'package:android_intent/android_intent.dart';
///此acton通过本机电话应用程序直接呼叫用户,但需要在AndroidManifest中获得“呼叫电话”权限。
final callIntentAction='android.intent.action.CALL';
///此操作显示拨号板打开的本机电话应用程序,显示传递的电话号码意图的参数/额外参数。自2020年1月起不需要权限。
final dialIntentAction='android.intent.action.DIAL';
最终目的=认证;
类雄激素意图=类雄激素(
行动:意图,
数据:Uri.encodeFull('tel:$phoneNumber'),
论据:{
///键:要拨打的实际电话号码[来源](https://developer.android.com/reference/android/content/Intent.html#EXTRA_PHONE_NUMBER)
///值:电话号码
'android.intent.extra.PHONE_NUMBER':phoneNumber,
///键:[使用视频状态启动通话](https://developer.android.com/reference/android/telecom/TelecomManager.html#EXTRA_START_CALL_WITH_VIDEO_STATE)
///值:`3`表示[状态](https://developer.android.com/reference/android/telecom/VideoProfile.html#STATE_BIDIRECTIONAL)
“android.telecom.extra.START_CALL_WITH_VIDEO_STATE”:“3”,
},
);
等待意图。启动();
错误处理旁注:不幸的是,对于android\u-intent-pub,没有像url\u-launcher那样的错误处理或“canOpen”方法
您的问题仍然在于Android作为通用视频通话应用程序。
您有两个选择:
- A.您可以通过第三方或您自己的应用程序链接视频通话SDK/功能。(比如,agora_flatter_webrtc,)。这样做的缺点是被叫人必须使用相同的软件,即你的应用程序必须安装在被叫人的设备上。这种方法更能证明未来。注意,我没有加入我提到的任何图书馆
- B.您可以为Android创建一个平台方法,以检查一组定义的意图,并检查已知视频通话应用程序的包名以及它们所需的额外/参数。你必须一个接一个地检查意图列表,看看哪一个是正确的,哪一个是正确的。适用于Whatsapp、Skype等应用程序。。。。这极易出错。如前所述