对接阿里云RTC
发表于|更新于
|浏览量:
财产的极端悬殊是许多灾难和犯罪的根源。——罗伯斯庇尔
今天对接阿里云RTC,文档:
根据RTCSDK实现音视频通话的流程_音视频通信-阿里云帮助中心
然后下载Demo:
https://github.com/aliyun/AliRTCSample
将获取到的appId和appKey改到代码里:


运行Demo:

相关推荐
2021-05-31
flatMap
君子成人之美,不成人之恶。小人反是。——《论语》 在Stream中有这么一个函数 它和map不一样的是,map你输入多少个,输出就是多少个 例如我要生成一个集合,装着26个小写字母和26个大写字母 用flatMap可以一行实现 12List<String> abc = Stream.iterate('a', i -> ++i).map(String::valueOf).limit(26).flatMap(i -> Stream.concat(Stream.of(i), Stream.of(i).map(String::toUpperCase))).sorted().collect(Collectors.toList());System.out.println(abc); 马上这时候就有人跳出来说,我不用flatMap还不是可以!!!不信你看 12List<Character> ab = Stream.iterate('A', i -> ++i).limit(58).filter(i -&g...
2023-12-30
file获取路径区别
男人勤劳家才富,女人节俭纱成布——佚名 这里 12345678910111213import java.io.File;class Scratch { public static void main(String[] args) throws Exception { File file = new File("../scratch.java"); String path = file.getPath(); String absolutePath = file.getAbsolutePath(); String canonicalPath = file.getCanonicalPath(); System.out.println("path:" + path); System.out.println("absolutePath:" + absolutePath); System.out.print...
2021-12-06
Collectors.toMap空指针问题
社会上崇敬名人,于是以为名人的话就是名言,却忘记了他所以得名是那一种学问和事业。 —— 鲁迅 对于Collectors.toMap,我们使用时如果value为空,则会抛出空指针,因为底层调用的Map.merge函数 如果我们想避免该问题,就可以使用collect去处理,例如我给hutool提交的这个PR一样 原先: 1StreamUtil.of(collection, isParallel).collect(Collectors.toMap(key, value, (l, r) -> l)); 现在: 1StreamUtil.of(collection, isParallel).collect(HashMap::new, (HashMap<K, V> m, E v) -> m.put(key.apply(v), value.apply(v)), HashMap::putAll); 完整函数: 12345678910111213141516/** * @param collection 需要转化的集合 * @param key E类型转...
2022-07-20
反射获取声明泛型工具类
和上帝一样聪明,和天才一样幼稚。——巴尔扎克《奥诺丽纳》 工具类: 1234567891011121314151617public static Type[] getGenericTypes(Type paramType) { Type type; for (type = paramType; type instanceof Class; type = ((Class<?>) type).getGenericSuperclass()) { if (Object.class.equals(type)) { Type[] genericInterfaces = ((Class<?>) type).getGenericInterfaces(); if (genericInterfaces.length > 0 && Objects.nonNull(genericInterfaces[0])) { ...
2022-01-21
thymeleaf动态渲染html
君子忍人所不能忍,容人所不能容,处人所不能处。——邓拓 我们可以使用thymeleaf进行动态渲染html内容 假设我的整个页面都是字符串,例如如下格式: 123456789"<!DOCTYPE html>\n" + "<html>\n" + " <head>\n" + " <meta charset=\"utf-8\">\n" + " <title></title>\n" + " </head>\n" + " <body>\n" + " </body>\n" + "</html>" 那我们渲染的话,其实可以直接新建一个页面,用[(${page})]语法,例如 1[($...
2026-01-29
dbvisitor
集腋成裘,聚沙成塔。几秒钟虽然不长,却构成永恒长河中的伟大时代。——弗莱彻 dbVisitor:用一套 Java API,打通 MySQL、MongoDB、Elasticsearch…dbVisitor 的愿景很直接:“One API Access Any DataBase”。它是一个基于 JDBC 标准构建的统一数据访问基座,通过“API 分层 + 双层适配器架构”,把传统 RDBMS 与 NoSQL 的编程壁垒拆开重组,不用发明新语法,不遮盖差异,而是“标准化管理差异”,让你在 Java 里用同一套 API 同时玩转 MySQL、PostgreSQL、MongoDB、Elasticsearch,甚至还能把它当成 JDBC Driver,让 MyBatis/Hibernate 这类框架去操作 NoSQL。 官网与文档 Website: https://www.dbvisitor.net Guides: https://www.dbvisitor.net/docs/guides/overview Blog: https://www.dbvisitor.net/bl...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog