Android设备实现语音视频通话

Posted 登山的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android设备实现语音视频通话相关的知识,希望对你有一定的参考价值。

一、背景

有智慧社区相关的项目,需要门禁开发门禁机APP以及用户端APP,要求实现门禁设备呼叫业主APP,业主接通后可以通话、可以开门。这里主要要做的就是语音和视频通话功能,以及远程开门。至于业务逻辑那就是正常的需求处理了。

二、方案调研

1、sip方案

有做过调研,也找了对应的设备进行了测试验证,流程跑通,但是效果不是太好,杂音大回音大,不清楚是设备处理问题还是软件实现优化问题。同时由于商务原因,后来放弃。不过主要的流程就是:

使用设备方的sip服务器,根据对方提供的web接口,我们在需要的时候创建对应的sip账号

设备方提供设备和APP端SDK

我们使用sdk实现呼叫、接听、开门、视频、语音通话等功能

2、基于P2P的音视频通话方案

我们找了一家专门提供语音视频通话服务的厂商,使用对于提供的sdk,做了开发测试验证,总体效果还不错,毕竟专门做软件的,同时对方还能提供各个版本的开发sdk(windows版本、ubuntu版本、linux(支持多种芯片)),这对于们后期如果对接他们类型的设备提供了较好的扩展性。因此最后采取此方案。此方案可以用于视频直播,分为视频播放端和视频采集端,我们再此基础上定义了自己的协议规则,实现了呼叫、开门等功能。

三、开发流程

1、对方给我们单独部署一套音视频服务

2、我们后台根据web端接口文档,在需要的时候创建相应的呼叫号,同时跟用户关联

3、门禁设备集成采集端sdk,同时实现呼叫、接听、开门操作等业务

4、用户APP集成播放端sdk、同时实现呼叫、接通、拒接、远程开门等业务

5、设备和APP联调测试

四、APP端开发流程

1、sdk二次封装

因为我们要做一些自己的修改,同时后续可能回提供给第三方,所以按功能封装成sdk是最合理的

主要根据业务需要封装了必要的接口方法:

呼叫、开门、接听、以及一些设置、以及设备状态信息监听

2、app端集成自己开发的sdk

 先引入自己开发的sdk,然后实现相关逻辑页面

呼叫页面、来电页面、接通页面、开门处理等

3、测试验证

设备和APP

Quickblox 语音通话/视频通话

【中文标题】Quickblox 语音通话/视频通话【英文标题】:Quickblox voice calling / video calling 【发布时间】:2021-02-20 18:15:20 【问题描述】:

有谁知道我如何使用 quickblox 进行语音通话/视频通话?当用户点击电话图标时,我正在制作这个应用程序,它开始用户之间的语音通话,当他们点击视频图标时,它打开他们进行视频通话?我刚开始研究它,我只是想知道是否有人告诉我如何实现语音通话功能。谢谢!

【问题讨论】:

【参考方案1】:

您可以在开始通话时将视频流静音以模拟音频通话(指南在这里 - https://docs.quickblox.com/docs/android-video-calling-advanced#disable-video)。

然后,如果您需要切换到视频通话,您可以取消静音视频流。您可以找到有用的视频通话示例 - https://docs.quickblox.com/docs/code-samples#video-calling-samples

【讨论】:

以上是关于Android设备实现语音视频通话的主要内容,如果未能解决你的问题,请参考以下文章

vue视频通话(Agora声网)

通过 TensorFlow 实现 AI 语音降噪提升 QQ 音视频通话质量

基于Linphone开发Android音视频通话

一次实现视频聊天和消息聊天android

VUE实现Web端多人语音视频聊天

如何在同一个 App 中同时集成语音通话和视频通话 Agora SDK