关于收音机安卓调试开发逻辑一定要先理解的是收音机功能是独立的一个硬件模块,就算没有收音机apk,该功能应该也是能从小喇叭听到收音声音的,开发收音机apk只不过是方便用户查看收音信息和控制调台而已,但是对于车机来说就算什么都不做,至少应该发送一个切源命令到MCU去通知MCU将声音通道切换到收音机芯片,否则就算收到台了也会没声音的,因为车机设备存在多个声音来源模块到音效芯片,切到谁小喇叭就出谁的声音;下面是开发流程:


 S700平台开发收音机apk应用的数据通信流程:
(1) 首先,收音机是单独的一个硬件模块(6831),功能都是mcu去实现去控制的,跟应用层没关系,我们的Radio收音机apk只是拿到mcu发来的数据进行显示,仅此而已,应用层基本干不了什么实际操作,无非就是调用几个api接口发送某些指令可以简单通知mcu去控制收音机模块,这是对收音机apk开发的一个整体的认识;
(2) 其次,数据初始化问题:在apk主界面打开时通过发送指令去拿,然后更新UI,无非就是当前波段,当前频率,预存电台列表等信息,有seekbar则需要将当前频率转换成seekbar的进度值设置到seekbar中即可,没有就不需要;
(3) 最后,做法问题:之前的做法都是FM分FM1和FM2以及FM3,每个FM都有6个预存电台,现在只返回一个FM1就代表是FM波段,并直接返回18个预存电台信息;AM也是一样,之前是分AM1和AM2,现在直接是返回AM1就代表AM波段了,返回6个预存电台,点击UI界面FM和AM按钮时切换波段发送指令分别是mMcuManager.mcuRadioBandSet(39)和McuManager.mcuRadioBandSet(42),之前的FM2,FM3,AM2对应的指令基本就作废了,无用了;全局搜索电台功能是点击按钮调用mMcuManager.mcuRadioScan()接口去实现的,这个搜索是从头到尾搜索,搜索到的电台会依次存到18个预存电台中,等到搜索完成之后会每个电台播放几秒钟供用户自己选择,如果不选择,那么等所有搜索到的台播放完之后就会跳到第一个搜索到的电台;向上向下搜索都是搜到可用电台就停止下来不会继续搜索了;6831收音机芯片是支持RDS的,但是RDS国外才会使用到的,国内无效;