开发互动直播应用很简单:声网 Android Demo保姆级运行教程

news2024/9/20 9:00:44

本文作者是来自声网开发者社区的用户“Xiaohua”。

前言

本人在参与《声网开发者漫游指南》期间,通过学习了解和学会跑通声网的实时互动Demo,但因为课程提供的demo是移动端和pc端的,很少接触过,所以只能花点时间学习一下才能运行demo项目。

鉴于大学学习过java语言,所以选择了安卓平台的实时互动Demo去尝试运行。Demo的仓库地址: https://github.com/AgoraIO/API-Examples

下载源码

直接下载压缩包即可,然后把它解压到指定目录。

在这里插入图片描述
然后要关注的是 Android 目录里的内容,通常上传的代码仓库里都有详细的 README.md 文档提供阅读,所以我们需要看一下有没有搭建开发环境的步骤。

在 API-Examples/Android/APIExample/README.md 中,有说明了环境的准备:

在这里插入图片描述

环境准备

因为 Android Studio 是免费使用了,所以不用激活码这些了,直接到官网下载安装包安装即可。

安装过程就比较简单了,看得懂英文和 next 一直点就差不多了。

安装完毕后,首次打开会检查我们想在电脑上安装的 Android SDK 组件,这里比较久,需要花一些时间。

打开 Android Studio 后,点击 Open 选择 Android 项目,文件图标会有特殊显示的就是项目文件了:

打开项目后,会进行 build,下载 Gradle

在这里插入图片描述
下载完成然后显示BUILD SUCCESSFUL就表示构建完成,项目目录结构会变成下图所示:

在这里插入图片描述
到此为止项目就成功打开并且build成功了。接下来就要在Android Studio里面使用模拟器去运行我们的Demo项目了。

在模拟器上运行Demo

在工具栏中,从目标设备下拉菜单中选择要用来运行应用的 AVD。一开始是没有模拟器的,需要我们安装一个。

在这里插入图片描述
在这里插入图片描述
安装完后,选中一个模拟器,然后点绿色三角形run

成功运行demo!

在这里插入图片描述
但是这时候是运行不了里面的例子的,还需要配置一下数据。在README.md里面也提到让我们到声网的控制台创建一个项目。

获取appId并运行

前提是我们声网开发者账号,并进行实名认证了才可以创建项目的。

创建我们的实时互动项目,我选择的是视频通话类型的。
在这里插入图片描述

然后点进项目里可以复制appid。

在这里插入图片描述
创建一个临时的token。

在这里插入图片描述
运行项目后,输入appid、token以及channelId即可进行视频通话了,因为我的电脑没有摄像头,所以连上真机调试。以下是运行的一个不用填token的,但是需要配置一下xml。在这里插入图片描述
最终效果如下。(这里为了不暴露隐私信息,后期马赛克掉了一些画面。)

在这里插入图片描述

如在开发过程中遇到疑问,可在声网开发者社区与官方工程师交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/190200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何屏蔽 iOS 软件自动更新,去除更新通知和标记

如何禁用 iPhone、iPad 软件自动更新。适用于 iOS、iPadOS 和 watchOS,即 iPhone、iPad 和 Apple Watch 通用。 请访问原文链接:https://sysin.org/blog/disable-ios-update/,查看最新版。原创作品,转载请保留出处。 作者主页&a…

WebAssembly编译之(4)-WASM编译进阶(多文件、多接口)

引言 上一节我们讲到如何用Emscripten将一个C编译陈wasm,并导出可供Javascirpt调用的接口,以及C导出类的函数接口、导出类的封装对象等。然而,编译的方式比较玛法,有没办法能更友好一点实现wasm的编译呢 WASM 相关文档&#xff1a…

【自学Docker】Docker diff命令

Docker diff命令 大纲 docker diff命令教程 docker diff 命令用于比较一个 Docker容器 不同版本提交的文件差异。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。 docker diff命令会列出 3 种容器内文件状态变化(A - Add, D - Delete, C - Chang…

Java-基础-3.容器

一:为什么会出现容器? 在之前的学习中,我们学习了变量和常量。都是一个字符或者字符串,数字的情况。但是在实际的生产中,我们一次会接受到很多类型不同,个数不同的数据。所以,为了方便我们后续…

红杉:2022企业数字化年度指南

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年12月份热门报告盘点罗振宇2023年跨年演讲PPT原稿吴晓波2022年年终秀演讲PPT原稿2023年,如何科学制定年度规划?《底层逻辑》高清配图华为2021数字…

[基础语法] python语法之列表的基本操作

文章目录列表已发布列表的基本操作增删改查排序列表实例练习列表 已发布 python判断语句python循环语句python之列表list python 的数据格式主要有列表、字典、元组、集合。其中列表的使用最为广泛。 任何一种数据格式的使用都离不开增、删、改、查四个操作。列表除了这四个…

【Mysql第四期 运算符规则计算】

文章目录写在前面1.算数运算符2.比较运算符3.逻辑运算符4.位运算符5.运算符的优先级拓展:使用正则表达式查询写在前面 基本的运算符号在计算机编程领域都是相通的,会有自己的一些特定符号语言,就像是各地的普通话一样,尽管语音描…

剑指 Offer II 004只出现一次的数字

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 示例 1: 输入:nums [2,2,3,2] 输出:3 示例 2: 输入:nums [0,1,0,…

Linux中Vi编辑器和Vim编辑器

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分…

Docker常用命令总结

基础命令 1.启动docker systemctl start docker 2.关闭docker systemctl stop docker 3.设置docker为自启动 systemctl enable --now docker 4.重启docker systemctl restart docker 3.查看docker版本信息 docker version 4.查看docker详细信息 docker info Clien…

Spring定时器超过30分钟问题

目前需要定时器做一个定时扫描任务的功能,原先都是定时在半个小时,程序跑起来也没事。但是最近公司要求定时时间加长到45分钟,而调整完配置完后发现,程序是在45分钟和整点进行的扫描。 下面是我做的示例时间缩短为45秒 spring。x…

守护进程编程流程及代码实现

概念不做阐述,本文主要内容为守护进程编程部分的知识说明 守护进程的编程流程: 1.fork退出父进程,保证留下的子进程是组员进程 2.利用setsid()创建新会话,把子进程挪到新的会话中 //获取会话是getsid() 3.fork退出父进程&#x…

完成基于Servlet的对user表的增删改查

基于Servlet的增删改查 1.开发环境 IDEAJDK1.8Tomcat8.5Mysql 8.0.12 2.数据库 2.1表创建 2.2表数据 3.JavaWeb代码 3.1目录结构 3.2util包下代码 JdbcUtil完成对数据库的连接和资源释放 JsonResult对返回前端资源的封装 JdbcUtil代码: /* 数据库连接板帮助类 …

Python中的垃圾回收机制

Python的垃圾回收主要以引用计数为主,分代回收为辅。引用计数在Python中,使用了引用计数这一技术实现内存管理。一个对象被创建完成后就有一个变量指向这个对象,那么就这个对象的引用计数为1,以后如果有其他变量指向这个对象&…

不吹牛,完爆ant design的定位组件,floating-ui来也

前言 因为要写react定位组件(这不是标题党,就是完爆ant design的定位组件,你应该看到一半就会同意我的观点),如下图: 红框部分是用绝对定位放在按钮上面的,你们B端用的主流组件库都是这样实现的…

Python自动化小技巧14——自动批量发送邮件(带各种附件)

案例背景 我的博客下面评论都是各种要数据的......一个一个发其实很浪费时间的,每次输入评论者的邮箱,然后打开数据所在的文件夹,上传,填写标题正文,发送....... 一模一样的流程,所以这种重复性的劳动肯定…

Linux下 git 上传与删除 的基本指令

git的概述克隆仓库使用 git 上传文件删除 git 中的文件git的概述 Git 是一个免费并开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 在使用 git 应确保Linux系统中已安装有git 命令:git --version 作用:查看 git 是否…

Spring Boot 单元测试

文章目录1. 单元测试是什么2. 单元测试的优点3. 进行 Spring Boot 单元测试3.1 确认项目中已经内置了测试框架3.2 生成单元测试的类3.3 添加 SpringBootTest 注解3.4 添加单元测试的业务代码3.5 注解 Transactional4. 断言1. 单元测试是什么 单元测试,是指对软件中…

微信小程序022同学会学生会活动经费系统

同学会小程序采用B/S结构、java开发语言、以及Mysql数据库等技术。系统主要分为管理员端和用户端两部分,管理员管理主要功能包括:首页、个人中心、用户管理、共享账本管理、我的账本管理、经费信息管理、经费支出管理、活动信息、管理员管理、留言板管理…

分享怎么做公众号预约_美容院预约小程序开发制作功能介绍

小程序的功能首先是为美人有约客户提供更快选购、预约服务的线上工具,解决顾客对商品详情、线上购买、线上预约查看等各种服务需求。一、美容美发预约下单小程序主要功能有:首页:搜索、banner、金刚区、瓷片区、项目列表预约:单次…