我正在尝试实现简单的卡拉OK场景:用户可以同时播放声音来录制他的声音(不带耳机)。然后,他可以应用一些过滤器,添加播放,混合并保存到文件中。我将SuperpoweredRecorder和SuperpoweredAdvancedAudioPlayer一起使用,然后再使用SuperpoweredDecoder / createWAV。 最终录音包含2条音轨:1)具有可听播放和一些过滤器的用户语音2)纯播放。 我的问题是,用用户语音录制的回放与离线处理中混合的回放不同步。这是合理的-必须对其进行生成,通过输出(扬声器),通过输入(麦克风)进行处理和记录。很好地描述为“ Android 10ms延迟问题”。 经过分析,我发现延迟会因设备而异,没关系,但同一台设备上的每条记录也会有所不同。我附加屏幕和值(我在无声室中使用了Metronom来计算它)
(回放刻度)[ms]-(记录的回放刻度)[ms](延迟[ms])
三星S8
40 - 112 (62)
52 - 117 (65)
40 - 92 (52)
52 - 107 (55)
40 - 97 (57)
华为
40 - 216 (176)
40 - 219 (176)
40 - 226 (186)
这个延迟对我来说不是问题,因为正如我所解释的,我可以在脱机处理期间转移它。但是我不知道如何计算(甚至估计)延迟。 你有什么想法吗?在Android上不可能测试所有可能的设备并获得平均值,而且也可能不太准确。
先谢谢!
答案 0 :(得分:0)
对不起,主持人删除了我完全有帮助的答案,因为他们的想法绝对为零。让我们继续通过电子邮件进行讨论。