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


运行Demo:

相关推荐
2020-08-05
Collectors.toMap()
把两个表内的数据查出来放进一个List,处理对应关系,以前我们的写法是下面这种,用了一个嵌套循环的形式,判断一下userId是否相等,如果相等,则赋值 12345678910111213141516//查询用户 List<User> userList = userDao.selectUser(); //查询用户信息 List<UserInfo> userInfoList = userInfoDao.selectUserInfo(); //遍历赋值 userList = userList.stream().peek(user -> { //遍历userInfo userInfoList.forEach(userInfo -> { //如果user的id和userInfo相等,就赋值 if (user.getId().equals(userInfo.getUserId())) { ...
2024-12-29
FlexibleAdapter
没有不可治愈的伤痛,没有不能结束的沉沦,所有失去的,会以另一种方式归来。——约翰·肖尔斯 Github: https://github.com/davideas/FlexibleAdapter 最近我在开发一个Android应用时,遇到了一些关于RecyclerView的挑战。RecyclerView是Android中展示列表数据的一个非常强大的控件,但在处理复杂列表,尤其是需要支持不同类型的视图、拖拽、排序等操作时,RecyclerView的实现就变得比较复杂。这时,我发现了一个很有用的开源库——FlexibleAdapter,它提供了一个更灵活和简化的方式来处理这些复杂的需求。 FlexibleAdapter是一个为RecyclerView提供更加灵活的适配器,它支持动态的多类型视图、拖拽、滑动删除等功能。它的设计理念是让开发者能更快速地实现复杂的RecyclerView布局,而不需要大量的冗余代码。 安装FlexibleAdapter的安装方式非常简单。你只需要在你的build.gradle文件中添加以下依赖: 1implementation 'eu.davi...
2024-02-12
异步转Mono
小利不争,小忿不发,可以合众。——傅昭 今天分享一个异步方法转Mono的方式,利用reactor.core.publisher.Mono#create: 1234567891011return Mono.create(sink -> rtmClient.subscribe(channelName, options, new ResultCallback<Void>() { @Override public void onSuccess(Void unused) { sink.success(unused); } @Override public void onFailure(ErrorInfo errorInfo) { sink.error(new IllegalStateException(errorInfo.getErrorReason())); }})); 即可实现
2023-08-14
java-diff-utils
谁终将声震人间,必长久深自缄默;谁终将点燃闪电,必长久如云漂泊。——尼采 https://github.com/java-diff-utils/java-diff-utils Diff Utils库是一个开源库,用于在文本或某种数据之间执行比较/差异操作:计算差异,应用补丁,生成统一差异或解析它们,生成差异输出以便将来显示(如并排视图)等。 例如: 123456789101112131415//create a configured DiffRowGeneratorDiffRowGenerator generator = DiffRowGenerator.create() .showInlineDiffs(true) .mergeOriginalRevised(true) .inlineDiffByWord(true) .oldTag(f -> "~") //introduce markdown style fo...
2020-11-18
使用stream流连接两个list
生命如同寓言,其价值不在于长短,而在于内容—— 塞涅卡 1234567List<Integer> integerList = Arrays.stream(new int[]{1, 2, 3}).boxed().collect(Collectors.toList());List<Integer> collect = Stream.concat(integerList.stream(), integerList.stream()).collect(Collectors.toList());collect.forEach(System.out::print);System.out.println();collect = Stream.of(integerList, integerList).flatMap(List::stream).collect(Collectors.toList());collect.forEach(System.out::print);System.out.println();
2021-03-28
获取不同时区的时间
真诚与朴实是天才的宝贵品质。——斯坦尼斯拉夫斯基 1234567891011121314151617181920212223242526272829303132System.out.println("下面的是两个默认时区的LocalDateTime");final LocalDateTime localDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault());final LocalDateTime localDateTime1 = LocalDateTime.now();System.out.println(localDateTime);System.out.println(localDateTime1);System.out.println("下面的是两个通过Date.from()拿到的默认时区的Date");// 这里需要使用ZonedDateTimefinal Date from = Date.from(Instant.fr...

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