这个想法是Phone A同时发送声音信号和蓝牙信号,Phone B将计算两个信号之间的延迟。
在实践中,我得到的结果不一致,延迟从 90 毫秒到 160 毫秒。我尝试尽可能优化两端。
在输出端:
一旦蓝牙和音频输出各有自己的线程,就会产生音调
蓝牙仅在 AudioTrack.write 之后输出,并且 AudioTrack 处于流模式,因此它
应该在写入完成之前开始输出。
在接收端:
再次两个单独的线程
系统时间在每个 AudioRecord.read 之前记录
采样规格:
44.1khz
读取整个缓冲区
使用 fft 一次采样 100 个样本
考虑到自初始 read() 以来转换了多少样本