AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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:005997

评论

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

功能标记是什么?一文了解它的作用,以及它的最佳实践

龙智—DevSecOps解决方案

perforce Helix Core 功能标记

SDN系统方法 | 6. 网络操作系统

俞凡

架构 网络 sdn SDN系统方法

spring4.1.8扩展实战之一:自定义环境变量验证

程序员欣宸

Java spring Spring Framework 6月月更

设计消息队列存储消息数据的 MySQL 表格

小虾米

「架构实战营」

模块8作业

KennyQ

疫情居家办公体验 | 社区征文

天黑黑

初夏征文

元宇宙是短炒,还是未来趋势?

CECBC

云原生时代微服务架构设计实践

Damon

6月月更

BaseDexClassLoader那些事

北洋

6月月更

SAP HANA 错误消息 SYS_XSA authentication failed SQLSTATE - 28000

汪子熙

数据库 SAP hana 6月月更 数据库权限

【您编码,我修复】WhiteSource正式更名为Mend

龙智—DevSecOps解决方案

代码安全 WhiteSource Mend

leetcode 47. Permutations II 全排列 II(中等)

okokabcd

LeetCode 搜索 数据结构与算法

架构训练模块 7

小马

#架构训练营

何时使用 Django?与其他开发堆栈的比较

海拥(haiyong.site)

6月月更

Node.js实用的内置API(一)

devpoint

node.js 全栈开发 InfoQ极客传媒15周年庆

OpenMAX (OMX)框架

程思扬

音视频 编解码

前端食堂技术周刊第 40 期:HTTP/3、WebContainers 登陆 Firefox、Remix Conf 2022、VueConf US 2022

童欧巴

Vue 前端

模块八-设计消息队列存储消息数据的 MySQL 表格

凯博无线

JavaScript闭包

大熊G

JavaScript 前端 6月月更

Vue-7-计算属性和方法的区别

Python研究所

6月月更

InfoQ 极客传媒 15 周年庆征文|必杀技--使用FFmpeg命令快速精准剪切视频

迷彩

前端 ffmpeg 视频剪辑处理 6月月更 InfoQ极客传媒15周年庆

银行布局元宇宙:数字藏品、数字员工成主赛道!

CECBC

加强区块链技术司法应用

CECBC

提升管道效率:你需要知道如何识别CI/CD管道中的主要障碍

龙智—DevSecOps解决方案

ci CD CloudBees CI/CD管道

C#入门系列(十二) -- 字符串

陈言必行

C# 6月月更

InfoQ 极客传媒 15 周年庆征文|dubbo+zookeeper与提供者provider、消费者consumer通信原理讲解

No Silver Bullet

zookeeper 架构 dubbo 6月月更 InfoQ极客传媒15周年庆

Linux开发_文件目录操作介绍、创建BMP图片

DS小龙哥

6月月更

『Three.js』辅助坐标轴

德育处主任

canvas three.js 6月月更

模块八

ASCE

InfoQ 极客传媒 15 周年庆征文|position:fixed 虚拟按键触发后无法生效问题分析及解决方案探究

No Silver Bullet

前端 6月月更 InfoQ极客传媒15周年庆 position:fixed

八大误区,逐个击破(2):性能差?应用程序少?你对云的这些担心很多余!

龙智—DevSecOps解决方案

Atlassian atlassian云版 Atlassian白皮书

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