Android Radio
文章平均质量分 88
本专栏主要是博主在Radio学习和开发过程中的相关笔记,主要以分析源码调用流程为主,同时包含实际开发中遇到的问题及解决方案。其中源码部分主要是 Android 9.0 和 Android 11,有什么问题或者其他需求也可以评论或留言。文章内容会在博主的工作积累中不断更新完善。
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
c小旭
Android Framework车载智能座舱开发工程师
展开
-
Android Radio实战——常见问题总结(附)
1、找不到Radio服务2、找不到Radio音频端口3、Source gain设置问题4、电台搜索回调信息异常5、电台暂停存在爆破音原创 2023-06-08 16:54:53 · 1865 阅读 · 4 评论 -
Android Radio实战——获取音频补丁异常分析(二十一)
上一篇文章介绍了 Radio 开发中获取音频补丁的相关流程,这一篇来看一下获取流程中出现的一个 Bug 分析。原创 2024-04-25 08:58:06 · 204 阅读 · 0 评论 -
Android Radio实战——获取音频补丁(二十)
音频补丁是一种音频处理技术,主要通过在音频信号中加入特定的噪声或信号,来掩盖或弥补原始音频中的缺陷或不足。这种技术广泛应用于音频制作、音乐处理、语音识别等领域,旨在提高音频的质量和听感。原创 2024-04-25 08:57:19 · 340 阅读 · 0 评论 -
Android Radio实战——静音操作(十九)
在之前的文章中,介绍 RadioTuner 时看到了静音功能的接口,当时感觉跟其他接口差不多,就没有做详细分析,但是在后来看代码时发现并没有那么简单。这里我们就再来分析以下 Radio 的静音操作流程。原创 2023-10-23 18:12:50 · 544 阅读 · 0 评论 -
Android Radio实战——打开Tuner(十八)
对于 Radio 的初始化在前面的很多功能中,都会到 mRadioTuner 参数,获取 mRadioTuner 的过程其实就是对 tuner 的初始化。原创 2023-09-19 20:56:07 · 825 阅读 · 6 评论 -
Android Radio实战——取消操作(十七)
在搜索、调辐、调频等操作时,如果时间较长,用户通常会放弃本次操作,这是就需要取消之前的 tuner 操作,这就需要用到取消功能。原创 2023-06-14 15:28:36 · 1005 阅读 · 0 评论 -
Android Radio实战——自动搜索(十六)
通过前面的文章发现一个问题,有时我们很需要这样的一个功能,就是搜索当前位置所有可用电台的列表。但是并没有该方法,startBackgroundScan() 方法扫描的是一个固定列表,scan() 方法只是获取上一个或下一个电台信息,都不满足我们最需要的需求。这一篇我们就尝试一下,能不能通过现有方法实现上述功能。原创 2023-05-23 17:11:51 · 713 阅读 · 0 评论 -
Android Radio开发——电台扫描(十五)
上一篇文章分析了电台列表,但最终获取的都是一个固定的电台列表,那么扫描得到的可用电台列表该如何得到。这里我们就来分析一下电台扫描的流程。原创 2023-05-23 14:07:31 · 1054 阅读 · 0 评论 -
Android Radio开发——电台列表(十四)
在中,我们解析 hal1 和 hal2 的代码时,hal1 是通过 scan() 来实现调频/调幅功能的。而 hal2 直接获取列表中的频道数据,来实现调频/调幅的切换。那么 hal2 中的这个列表是从哪里来的呢?这里我们就来分析一下。原创 2023-05-23 10:35:48 · 788 阅读 · 0 评论 -
Android Radio开发——切换电台HAL解析(十三)
在前面的文章中,无论是 hal1 还是 hal2 再切换频道的时候都会调用 tuneInternalLocked() 方法。且切换方式都是调用 virtualRadio().getProgram() 方法,只是后面的通知方法有所区别。原创 2023-05-19 18:26:30 · 485 阅读 · 0 评论 -
Android Radio实战——调频/调幅(十二)
调频/调幅的效果其实就是向上/向下搜台,然后切换电台。原创 2023-05-19 17:33:06 · 804 阅读 · 0 评论 -
Android Radio实战——切换FM/AM(十一)
这里主要通过 AudioManager.setParameters() 下发 tuner_band=am/fm 设置音频管理器的参数。这里会设置 Source gain(源增益),用于描述调节音频或视频信号源的音量或增益级别。它表示对原始信号的放大或减小程度。然后通过 RadioTuner.setConfiguration 设置收音机调谐器配置的方法。这里的 sFmConfig 和 sAmConfig 是在 openSession 的时候,通过无线电模块获取的。原创 2023-05-19 11:20:37 · 943 阅读 · 0 评论 -
Android Radio实战——播放/暂停(十)
Android 11 源码位置:/packages/services/Car/service/src/com/android/car/audio/CarAudioService.java。Android 9.0源码位置:/packages/services/Car/service/src/com/android/car/CarAudioService.java。源码位置:/frameworks/base/media/java/android/media/AudioManager.java。原创 2023-05-18 18:09:12 · 757 阅读 · 0 评论 -
Android Radio实战——切换电台(九)
这里切换电台,首先要知道对应电台信息,然后传入对应的电台信息进行电台跳转。原创 2023-05-18 17:12:12 · 732 阅读 · 0 评论 -
Android Radio实战——获取电台信息(八)
这里是创建一个 RadioManager.ProgramInfo,然后传入到 RadioTuner.getProgramInformation 方法。数据获取成功后,对数据进行解析。这里只做了解析,其实最后还要把数据给到 APP,可以直接返回相关数据数组,也可以通过回调的方式返回。原创 2023-05-18 15:04:09 · 930 阅读 · 0 评论 -
Android Radio实战——桌面小部件(七)
对于收音机的车机 APP 开发,一般都有配套的桌面小部件(Widget)开发,这里对小部件的具体实现就不介绍了,这里主要介绍一些桌面(Launcher)中的小部件(Widget)弹出窗口功能实现。原创 2023-05-09 15:57:45 · 1217 阅读 · 0 评论 -
Android Radio开发——控制电台(六)
上一篇文章我们调用到了 BroadcastRadioService,开启了收音机,这一篇我们来分析以下如何控制电台。我们从 CarRadioActivity 开始分析。原创 2023-05-09 13:32:40 · 1224 阅读 · 0 评论 -
Android Radio开发——Hal层调用(五)
上一篇内容到 BroadcastRadioService 调用 openTuner() 开启广播时调用不通的 Hal 层代码,这一篇来看一下,不通 Hal 层的代码有什么区别。原创 2023-05-08 18:03:02 · 985 阅读 · 0 评论 -
Android Radio开发——系统服务调用(四)
在《Android 音频开发——Radio服务(二)》中介绍了 BroadcastRadioService 的启动流程,这里我们看一下 APP 如何一步步调用到 Radio 服务的。原创 2023-05-08 17:52:32 · 908 阅读 · 0 评论 -
Android Radio开发——Hal服务(三)
上一篇文章主要介绍了 BroadcastRadioService 的启动,这一篇我们介绍以下Radio Hal 层的服务。原创 2023-05-08 15:56:36 · 1711 阅读 · 0 评论 -
Android Radio开发——系统服务(二)
收音机(Radio)作为 Android 中比较常见的的模块,它的服务(BroadcastRadioService)跟蓝牙、WiFi 服务一样都是在 SystemServer 中启动的。本章节我们主要分析一下 BroadcastRadioService 的相关源码。原创 2023-05-08 13:21:30 · 1743 阅读 · 0 评论 -
Android Radio开发——简介(一)
本地FM(收音机)应用不同于现在的网络FM(喜马拉雅,考拉等),是由 Android 手机硬件的调谐芯片,通过接收和解调电台发出的电磁波的调频(FM)或调幅(AM)信号,从而播放和展示相应的节目信息。所以本地收音机应用一般不需要联网,其核心依赖于硬件调谐芯片。所以不是所有的手机都能收听本地收音机,但大部分的手机都支持。原创 2023-05-06 16:30:00 · 2646 阅读 · 5 评论