前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 新增 Telecom 库 jetpack,简化音频/视频通话应用开发

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

作者头像
深度学习与Python
发布2023-11-22 16:47:15
1860
发布2023-11-22 16:47:15
举报
文章被收录于专栏:深度学习与python

作者 | Sergio De Simone

译者 | 平川

策划 | Tina

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

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

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

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

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

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

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

代码语言:javascript
复制
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/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档