声波通信iOS与Android实现

声波通信的 iOS 和 Android 实现,挺适合在离线或者信号不稳的时候用来搞点“暗号”传输,比如小额支付、配对之类的近距离数据传输。iOS 那边靠AVFoundationAudioQueue搞定音频的录制和播放,权限别忘了先申。Android 也差不多,主力是AudioRecordMediaPlayer,设置音频参数时要跟 iOS 对得上,不然收不到。

传输数据之前得先编码成音频信号,比如 PCM,超声波频段更稳当,基本不扰民。接收端录音下来再解码成原始数据。中间可以加点Wiener 滤波FFT这些信号增强算法,抗干扰效果还不错。

别忘了加错误校验,比如CRC或者前向纠错,不然一有噪音就挂了。数据不大的话,可以考虑压缩一下再传,比如用Huffman。虽然速度不算快,但实用场景还挺多,比如两个手机在地铁里互相发个联系人,不连网也行。

如果你正好在做近距离设备通信,或者想试试不用网络也能“对话”的方式,这类声波通信方案可以研究下,蛮有意思的。对信号没底的同学,建议先看看超声波的资料和测距模块的用法,下面这些资源可以帮你快速上手。

folder
声波通信iOS和Android 预估大小:125个文件
file
libSVSinVoiceLib.a 434KB
file
MainActivity.class 10KB
file
MainActivity$7.class 2KB
file
MainActivity$3.class 1KB
file
MainActivity$1.class 1020B
file
MainActivity$8.class 1KB
file
MainActivity$7$1.class 1KB
file
MainActivity$RegHandler.class 2KB
file
VoiceEncoder.class 1KB
file
LogHelper.class 2KB
file
SinVoicePlayer.class 6KB
file
PcmPlayer.class 3KB
file
SinVoiceRecognition$2.class 1KB
file
VoiceRecognition.class 4KB
file
Queue.class 3KB
file
Record.class 4KB
file
Encoder.class 5KB
file
SinVoiceRecognition.class 7KB
file
SinVoicePlayer$2.class 1KB
file
BufferQueue.class 2KB
zip 文件大小:443.88KB