安卓手机上 K 歌,声音延迟怎么解决?
这篇文章可以为你提供一个解决录音和播放同步问题的思路,而且解决了声音从手机传输到耳机上有延时的问题。 初识音频 在开始之前,我先简单介绍一下音频相关的基础知识,方便下文理解。 我们知道声明是一种波,经过离散处理后,在程序中我们可以理解为一个无限接近该波形的一个数组,数组下标就是时间轴,对应的值是声音的幅度轴。 音频最基本的特性有: 采样频率(Sample Rate) :每秒采集声音的数量,它用赫兹(Hz)来表示。 采样精度(Bit Depth) :它表示每次采样的精度,位数越多,能记录的范围就越大。 声音通道(Channel) :简单理解就是各个通道有一个独立的声音,它们会同时发出来。 这不是本文的重点,所以不再展开了,这里只是简单说明一下声音跟开发的关系。点击这篇文章可以帮助你更好地了解: 音频基础认识 。 场景描述 我们在 Android 手机上进行 K 歌的时候,是要一边跟着伴奏的声音,一边进行录音的,最后把两个声音合并成一个声音。在实际处理的时候,你会发现录音的音轨和伴奏的音轨是会有个时间差,表现为录出来的声音跑在伴奏的后面了。如果是通过有线耳机或手机扬声器一边听伴奏一边录音,这个延迟会稍微没那么严重,但是人耳也能感受到滞后了;如果是用延时比较大的蓝牙耳机来一边听伴奏一边录,那么延迟问题就会很凸显了。本文的测试音频录音时用的是蓝牙耳机。 一线希望