写点什么

Android 新增 Telecom 库 jetpack,简化音频 / 视频通话应用开发

  • 2023-12-07
    北京
  • 本文字数:970 字

    阅读完需:约 3 分钟

Android 新增 Telecom 库 jetpack,简化音频/视频通话应用开发

Android 新增 Telecom 库 jetpack。该库目前为 Alpha 版本,旨在简化音频及视频通话应用的开发。它为 Android 开发人员提供了多个 API,支持应答 / 拒绝、音频路由等常见功能。


首先,新库会负责声明它使用哪些前台服务。这意味着开发者不需要显式遵守 Android 14 中新引入的的隐私要求。该库还可以确保用户离开应用时通话不会中断,而这对于开发者来说是透明的。


该 Telecom 库还为智能手表提供了一个 API,用于处理用户操作,如接听、拒绝、挂断和静音呼叫。该 API 可以流畅地在手表上显示与呼叫相关的信息,并且,当用户正在进行通话而又有另一个呼叫进入时,可以为用户保持当前呼叫。


新库提供的另一个主要功能是音频路由,因此,使用它的任何应用程序都不需要使用音频管理器来跟踪设备的音频状态及获取可用音频设备的列表等。该库可以列出所有可用的去向 / 来自蓝牙音频设备的流式音频端点。


该 Telecom 库引入了一个新的 CallsManager 类,取代了以前非 jetpack 库中提供的 ConnectionService 类。如果开发人员想要利用新类所带来的好处,就需要完成一项特定的迁移。


从 ConnectionService 迁移到 CallManager 非常简单,但也不是改下命名空间那么简单。你可以认为,CallManager 取代的是 ConnectionService ,而 CallControlScope 取代的是 ConnectionService.


下面的代码片段展示了如何添加一个具有给定属性的呼叫:


val attributes = CallAttributesCompat(        displayName = displayName,               address = address,       direction = CallAttributesCompat.DIRECTION_INCOMING,       callType = CallAttributesCompat.CALL_TYPE_AUDIO_CALL,       callCapabilities = (CallAttributesCompat.SUPPORTS_SET_INACTIVE                or CallAttributesCompat.SUPPORTS_STREAM                                or CallAttributesCompat.SUPPORTS_TRANSFER), )callsManager.addCall(        attributes      ) {                 // Call control scope 
}
复制代码


谷歌表示,在未来几个月,这个库会增加许多新功能,并且向后兼容至 Android O(API level 26)。如果你对使用它创建一个 Android VoIP 应用感兴趣,那么最好从谷歌的官方示例应用入手,它向开发者展示了如何使用各种 API。


原文链接:

https://www.infoq.com/news/2023/11/android-jetpack-telecom-library/


2023-12-07 08:005901

评论

发布
暂无评论
发现更多内容

2023年免费堡垒机排行榜(仅供参考)

行云管家

安全运维 运维安全 免费堡垒机

matlab实现通信原理

袁袁袁袁满

三周年连更

【问题排查篇】一次业务问题对 ES 的 cardinality 原理探究 | 京东云技术团队

京东科技开发者

ES 京东云 企业号 5 月 PK 榜

前端配置化表单组件设计方法 | 京东云技术团队

京东科技开发者

前端 表单设计 配置化 企业号 5 月 PK 榜

谁说前端已死,低代码没干掉我,chatGPT又如何!| 社区征文

花花

三周年征文

面向万物智联的应用框架的思考和探索(下)

HarmonyOS开发者

HarmonyOS

软件测试/测试开发丨Pytest 参数化用例

测试人

软件测试 自动化测试 测试开发 pytest

下载LORA模型

IT蜗壳-Tango

三周年连更

1分钟学会、3分钟上手、5分钟应用,快速上手责任链框架详解 | 京东云技术团队

京东科技开发者

Netty 京东云 企业号 5 月 PK 榜

数据导向下制造业的生产效率、交易效率提升办法

镭速

Istio数据面新模式:Ambient Mesh技术解析

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

分布式场景下,如何对外提供易变的服务,打造可靠的注册中心?

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

Java实现坦克大战1.0

timerring

Java

async/await详解

不叫猫先生

JavaScript async/await 三周年连更

深入理解shims-vue.d.ts和declare module

Lee Chen

JavaScript

美团架构师熬夜整理:Netty权威指南2.0版+英雄传说项目

做梦都在改BUG

Java Netty

如何利用 AREX 在本地快速复现线上问题

AREX 中文社区

自动化测试 接口测试 代码复现

使用 NutUI 搭建「自定义业务风格」的组件库 | 京东云技术团队

京东科技开发者

京东云 企业号 5 月 PK 榜

ShareSDK 钉钉平台注册指南

MobTech袤博科技

【等保一级】等保一级一般适用于哪些信息系统?

行云管家

等保 等级保护 等保一级

Java多线程基础

timerring

Java

去哪儿网企业级监控平台-Watcher

Qunar技术沙龙

去哪儿网 监控平台

细节爆炸!腾讯用13个案例实战讲明白MySQL,没想到这么全

做梦都在改BUG

Java MySQL 数据库

MySQL一次大量内存消耗的跟踪

GreatSQL

使用MASA全家桶从零开始搭建IoT平台(二)设备注册

MASA技术团队

IoT mqtt

机器人SLAM,三维人工智能的核心技术!

博文视点Broadview

景区共享电动车合作找厂家要注意什么

共享电单车厂家

共享电动车厂家 校园共享电单车 景区共享电动车 共享电动车合作

完美!华为爆出Redis宝典,原来Redis性能可压榨到极致

做梦都在改BUG

Java 数据库 nosql redis 缓存

手把手教会你 | 网络编程

TiAmo

socket通信 服务器编程 单用户模式

路由器的后台管理界面的IP地址为什么都是192.168开头?

wljslmz

网络 三周年连更

以最大速度将数据迁移至AWS S3存储

镭速

Android 新增 Telecom 库 jetpack,简化音频/视频通话应用开发_Android/iOS_Sergio De Simone_InfoQ精选文章