Android音频口数据通信开发 | 爱图腾 李鹏军
-
Upload
imshining-devcamp -
Category
Technology
-
view
3.986 -
download
6
Transcript of Android音频口数据通信开发 | 爱图腾 李鹏军
Android DevCamp Produced by CSDN Website: http://devcamp.csdn.net/ Weibo: http://weibo.com/cmdnclub/
李鹏军
爱图腾科技 架构师
音频解码
相关介绍
传输协议
音频输出
音频编码
音频输入
相关介绍
l 目前国外知名的有 Square支付,coin支付。
l 国内比较火的应该是拉卡拉手机刷卡支付
相关介绍
l 手机的音频接口除了移动支付外还可以做很多
的事情。
l 比如 遥控信号指令发送器
传输协议
u 音频接口的传输协议很重要
u ⼀一个成熟的规范可以满足很多的需求开发
u 传输协议可以自定义
简单的发送协议
u Accept device Code command :接受指令的硬件设备代码!
u Accept type command :接收指令的硬件设备类型!
u Action command:需要执行的指令。
u send command !
Accept device Accept type Ac#on
code command commandcommand (1 Byte) (1 Byte)(1 Byte)
0x03 0xA0 0x02
音频输出
音频输出应用 将指令转换成音频信号
外接硬件设备 解码音频信号获得原始指令
音频信号 通过音频接口发送
可被遥控的设备 做出响应
输出流程
音频数据输出需要准备的参数
sampleRateInHz: 录音采样率 (单位Hz, 44100, 22050,16000,11025) channelConfig: 录音通道数(声道) (12, 16) CHANNEL_IN_MONO,CHANNEL_IN_STEREO. audioFormat: 线性采样位数 (8, 16,) PCM 16 bit per sample bufferSizeInBytes:使用值小于getMinBufferSize()将导致初始化失败
u 相关代码
音频数据输出需要准备的参数
sampleRateInHz: 录音采样率 (单位Hz, 44100, 22050,16000,11025) channelConfig: 录音通道数(声道) (12, 16) CHANNEL_IN_MONO,CHANNEL_IN_STEREO. audioFormat: 线性采样位数 (8, 16,) PCM 16 bit per sample bufferSizeInBytes:使用值小于getMinBufferSize()将导致初始化失败
u 相关代码
实例化 AudioTrack 实例化音频输出对象
u 相关代码
执行输出音频流 开始执行音频输出
配置 voiceData 数据的编码调制
u 相关代码
音频编码 调制编码
将需要发送的指令数据转换成模拟音频信号
Encode的⼀一个过程
音频编码 将数字信号转换成模拟信号输出
这里的voiceData就可以作为音频输出流播放了
音频输入 流程图
音频输入应用 将音频信号
转换成指令信息
外接硬件设备 将传入的信息编码成音频信号
设备信息 通过外接设备录入
需要读取的设备 将信息录入到硬件设备中
音频输入需要准备的参数
sampleRateInHz: 录音采样率 (单位Hz, 44100, 22050,16000,11025) channelConfig: 录音通道数(声道) (12, 16) CHANNEL_IN_MONO,CHANNEL_IN_STEREO. audioFormat: 线性采样位数 (8, 16,) PCM 16 bit per sample bufferSizeInBytes:使用值小于getMinBufferSize()将导致初始化失败
u 相关代码
音频输入需要的参数对照
实例化 AudioRecord
获得音频接口数据的对象
u 相关代码
获得音频输入 监听音频接口是否有输入的音频流
对获得的音频流 buffer 进行解码
u 相关代码
解码音频流
u 相关代码
u 将音频流的模拟信号转换成数字信号后识别指令
u 解码出来的RecvData数据就可以根据协议解析指令了
爱图腾科技 Next App Generation
谢谢!