写点什么

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

评论

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

docker的/var/run/docker.sock参数

程序员欣宸

Docker Docker 镜像 9月月更

前端线下培训学习适合哪些人群

小谷哥

20道常被问到的JavaScript题目

helloworld1024fd

JavaScript 前端

这些js手写题你能回答上来几道

helloworld1024fd

JavaScript 前端

前端动效讲解与实战

vivo互联网技术

前端 SVG 动效

react hook 源码完全解读

flyzz177

React

深圳大数据培训哪家教的好

小谷哥

太强了!阿里p8大佬干了半个月总结的《Alibaba分布式系统速成笔记》正式开源

Geek_0c76c3

Java 数据库 开源 程序员 架构

开发者有话说|我的前端开发感悟

言程序

个人成长

监控平台SkyWalking9入门实践

Java 架构 Skywalking

Chrome操作指南——入门篇(十四)drawer

Augus

Chrome开发者工具 9月月更

详解JS中 call 方法的实现

华为云开发者联盟

Java 前端 企业号九月金秋榜

基于 Apache Hudi 极致查询优化的探索实践

华为云开发者联盟

大数据 后端 华为云 企业号九月金秋榜

开发者有话说|我的前端开发感悟

言程序

个人成长 程序人生

一文带你全面了解什么是颠覆时代的Web3.0未来互联网

echeverra

Web3.0

故障转移和恢复

源字节1号

软件开发 后端开发

java培训学习应该注意什么?

小谷哥

Flowable 流程部署与删除

江南一点雨

Java springboot flowable

MFC|实现自定义复选框效果

中国好公民st

c++ 控件 9月月更

Chrome操作指南——入门篇(十五)monitor

Augus

Chrome开发者工具 9月月更

Vue入门指北——modifier

Augus

Chrome开发者工具 9月月更

React Context源码是怎么实现的呢

flyzz177

React

Python基础(五) | 函数及面向过程编程详解

timerring

Python Monad 9月月更

【荣耀帐号服务】手把手教你快速Android应用接入

荣耀开发者服务平台

开发者 服务 安卓 应用 honor

如何准备vue相关的知识点

bb_xiaxia1998

Vue 前端

《DevOps工具链的国产化之道》直播报名开始啦!

嘉为蓝鲸

DevOps IT 工具链 研发

牛客网扫地僧开源出来的《Java面试无敌流笔记》,Github上线两天就爆火

Geek_0c76c3

Java 数据库 开源 程序员 架构

隐私计算唯一代表厂商!洞见科技入选《爱分析·数据智能厂商全景报告》

洞见科技

react面试应该准备哪些题目

beifeng1996

前端 React

N1盒子openwrt+dogcom实现大学校园网的自动登录开启路由

知识浅谈

9月月更

从0到1带你搭建一个vue3.0项目(vue-cli脚手架版)

言程序

前端 vue3.0 9月月更

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