大家可能都用过支付宝的声波支付,即两个终端同时打开该功能,一个终端作为发送端send,一个终端作为接收端get,send将本终端上发出的请求信息按照约定规则的算法进行声音编码,并播放出来,get端接收到send发来的声音数据,按照约定规则进行解码,即获得了相应的信息。
原理如上,其实很简单,就是用单频率声音信号对数据进行编码,然后播放这些单频率声音,接收方在收到声音后,识别出频率,然后根据频率解码出数据。
最简单的方法就是把0-9赋予特定的频率,将需要传输的数据转成十进制的数,分别赋予特定的频率,然后发出声音。
get端则接收该声音,进行解码,得到相应的真实数据即可。
在实际应用中,需要对所传输的数据按照需求设计合理的数据格式,并统一到接收端,必要的时候需要加入加密算法。
在应用中实现需要用到以下几个部分
send:数据组合、编码(加密)、发声
get:接收声音、解码(解密)、数据拆分
有一个工程大家可以参考,我传到了csnd下载中,直接可以运行声波通信源代码
Android手机之间通过声音传输信息方法——声波通信(含工程代码)
时间: 2024-10-08 02:19:07