写点什么

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

评论

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

我上高中的弟弟都能看懂的Docker学习教程,你看看讲的怎么样

Java 程序员 后端

什么是 TypeScript

HoneyMoose

我这么回答对Spring的理解,面试官狂问我什么时候入职?

Java 程序员 后端

Docsify 脚本执行权限问题

HoneyMoose

拥有阿里P8推荐的SpringBoot笔记,备战金九银十,吊打面试官不是梦

Java 程序员 后端

排序二叉树JAVA版实现

Java 程序员 后端

惨无人道的性能优化!阿里淘宝双十一性能优化全栈实录我粉了!

Java 程序员 后端

我所理解的Java锁

Java 程序员 后端

掌握了2-3-4树也就掌握了红黑树,不信进来看看,建议收藏!

Java 程序员 后端

教妹学Java(二十一):一文带你了解面向对象编程的所有概念

Java 程序员 后端

成为架构师之前,你一定要懂的-CAP-定理

Java 程序员 后端

手写线程池实战

Java 程序员 后端

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

Java 程序员 后端

教妹学Java(二十 七):this 关键字的用法(1)

Java 程序员 后端

我猜你还没明白如何利用好Redis、Redisson使用实现分布式锁?

Java 程序员 后端

拿了 30K 的 offer!

Java 程序员 后端

我的Serverless实战——能掰扯面试官的SSVM超详细解析!

Java 程序员 后端

手把手教学妹CompletableFuture异步化,性能关系直接起飞!

Java 程序员 后端

手撕ArrayList底层,透彻分析源码

Java 程序员 后端

推荐 6 个前后端分离项目

Java 程序员 后端

教妹学Java(二十五):搞懂 Java 中的构造方法

Java 程序员 后端

想搞清楚ZooKeepe?这篇入门你必须了解!

Java 程序员 后端

接口文档:第二章:使用Swagger接口的文档在线自动生成

Java 程序员 后端

教女朋友学习 vue中的组件

Java 程序员 后端

教妹学Java(二十 七):this 关键字的用法

Java 程序员 后端

抽象工厂模式

Java 程序员 后端

捕获异常&指令重塑

Java 程序员 后端

懊悔!早一点遇到这份1399页Nginx笔记,我绝不会错过阿里offer!

Java 程序员 后端

我来告诉你解决死锁的100种方法

Java 程序员 后端

我用了3年,从小厂干到美团L8技术专家!分享一下面经!

Java 程序员 后端

手把手带你用数据库中间件Mycat+SpringBoot完成分库分表

Java 程序员 后端

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