Android音频口数据通信开发 | 爱图腾 李鹏军

4,473 views
4,191 views

Published on

安卓软硬结合,热点技术实践总结:《Android音频口数据通信开发》 | Android DevCamp | 7月28日 北京

话题简介:李鹏军将结合爱图腾与硬件结合的开发实践,讲解基于Android音频接口的双向数据通信技术,如何实现音频口双向通信,实现与外接设备的通信。

个人简介:李鹏军,爱图腾科技,Android项目主管,有多年从事Java,J2ME开发的经验,是国内较早的Android开发者。

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,473
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
35
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Android音频口数据通信开发 | 爱图腾 李鹏军

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

×