大家可能都用过支付宝的声波支付,即两个终端同时打开该功能,一个终端作为发送端send,一个终端作为接收端get,send将本终端上发出的请求信息按照约定规则的算法进行声音编码,并播放出来,get端接收到send发来的声音数据,按照约定规则进行解码,即获得了相应的信息。

原理如上,其实很简单,就是用单频率声音信号对数据进行编码,然后播放这些单频率声音,接收方在收到声音后,识别出频率,然后根据频率解码出数据。

最简单的方法就是把0-9赋予特定的频率,将需要传输的数据转成十进制的数,分别赋予特定的频率,然后发出声音。

get端则接收该声音,进行解码,得到相应的真实数据即可。

在实际应用中,需要对所传输的数据按照需求设计合理的数据格式,并统一到接收端,必要的时候需要加入加密算法。

在应用中实现需要用到以下几个部分

send:数据组合、编码(加密)、发声

get:接收声音、解码(解密)、数据拆分

有一个工程大家可以参考,我传到了csnd下载中,直接可以运行声波通信源代码

Android手机之间通过声音传输信息方法——声波通信(含工程代码)相关推荐

  1. Android studio ocr初级app开发问题汇总(含工程代码)

    博客第一篇文章,稍作修改,增加文字介绍 开发目的 最近由于某些需求,需要在Android手机端实现OCR功能,大致为通过手机照相,识别出相片中的中文信息字段.但是由于新手光环+流程不熟悉,遇到了各种各 ...

  2. Mac 和 Android 手机之间互传文件,这四种方法简单高效!

    在Windows上,我们常常需要用USB数据线将安卓手机连接到电脑上,然后在手机和电脑之间传输各种文件.但是这种方法对Mac电脑就不怎么起作用了.由于OS X系统的特殊性,许多用户都不知道如何顺利地将 ...

  3. android 判断手机计步_一种在Android手机上实现计步器的方法

    一种在Android手机上实现计步器的方法 [技术领域] [0001] 本发明设及一种在Amlroid手机上实现计步器的方法,特别设及对手机加速度传 感器数据的采集.处理及应用技术,属于传感器应用领域 ...

  4. iphone地图与android,如何使用谷歌地图在iPhone和Android手机之间共享你的位置

    iPhone和Android手机之间缺乏兼容性往往令人讨厌.如果你想在不同设备之间分享你的位置,你可能会认为它太复杂了-但有一个快速的方法来实现它. 幸运的是,谷歌地图允许你弥合从iPhone到And ...

  5. php获取手机的mac地址,Android手机获取Mac地址的方法

    [导读]这篇文章主要为大家详细介绍了Android手机获取Mac地址的方法,具有一定的参考价值 最常用的方法,通过WiFiManager获取:/** * 通过WiFiManager获取mac地址 *  ...

  6. Android手机刷入Magisk的方法

    Android手机刷入Magisk的方法 2020.3.24 介绍 这里引用来自少数派的一张图,所谓Magisk,在不改变系统分区的情况下,挂载一个与其文件系统隔离的Magisk分区,在必要的时候(或 ...

  7. Android手机之间不消耗流量互传文件

    Android手机之间不消耗流量互传文件 这是一个我们做的项目,已在Github开源,点击链接查看. Android手机之间不消耗流量互传文件 安卓面对面文件快传

  8. android 将图片储存到手机内存不足,Android手机内存不足的解决方法

    Android手机内存不足的解决方法 如果你的安卓手机内存不是很大,安装较多软件,使用一段时间后,安卓手机和容易引起内存不足,会提示手机内存不足,然后速度变慢,无法安装新软件等等.很多对安卓手机不太了 ...

  9. android phone恢复出厂设置,Android手机正确恢复出厂设置方法

    Android手机正确恢复出厂设置方法 作为一款智能操作系统,Android也内置了许多其他智能操作系统共有的功能,比如每部手机都必备的恢复出厂设置.那么Android手机该如何设置,才能让它正确的恢 ...

最新文章

  1. Sencha应用程序的UI测试
  2. saleor的测试用账户地址This value is not valid for the address
  3. 李宏毅机器学习课程4~~~分类:概率生成模型
  4. VS Code的7个开源替代品,值得推荐!
  5. [html] 什么是表单域?它有哪些运用场景?
  6. python有类似mybatis的框架_为什么感觉国内比较流行的 mybatis 在国外好像没人用的样子?...
  7. 自动驾驶公司 | 纵目科技完成D轮1.9亿美元融资
  8. Java 中的volitle 关键字
  9. 出现这6种评估违法状况,征收补偿决定可能被撤销!
  10. Linux学习笔记二:Ubuntu启用root用户、更改软件源以及安装vim
  11. VC如何设置默认的调试程序
  12. 推荐几个e书下载地址
  13. 卡方 python_用Python进行卡方分析
  14. 数据分析5_美团外卖用户差评分析(附数据及Tableau文件)
  15. 论剑大数据技术,效率为王!天善智能掘金数据技术沙龙【上海站 12.09】
  16. Shiro解决多个二级域名的单点登录问题
  17. Python趣味编程 | 看看如何用Python生成素描风格的自拍照,并且加上Logo
  18. Python 爬取网页
  19. 多源数据 单源数据是什么意思
  20. 数字经济是什么?如何发展数字经济?

热门文章

  1. 【系统篇 / 域】❀ 06. Windows10 加入域 ❀ Windows Server 2016
  2. 区块链打造“红娘链”,婚姻上链让爱更“牢固”
  3. 如何书写md格式的文档
  4. android studio中的模拟器,使用Android Studio创建Andorid模拟器
  5. 电脑上怎么绘制流程图以及在线绘制方法
  6. python3可视化-pyecharts图形库,大饼图Pie的创建和使用
  7. 计算机应用基础excel2007 6.2使用函数和公式 教案,计算机应用基础教案6.2使用函数和公式.docx...
  8. 用计算机弹九八k的乐谱,抖音计算器按出的音乐乐谱有哪些 抖音计算器乐谱汇总...
  9. 鸿蒙EMUI10升级体验,华为P30升级EMUI10,体验如何?我给大家说一说!
  10. 【JS基础】JavaScript中的void 0