我正在使用SuperpoweredAdvancedAudioPlayer
类来播放可能非常大的音频文件,其编码各不相同(不同的比特率,采样率,甚至编解码器)。我需要能够在样本级别将此文件的播放与另一个文件同步。
我想知道每个SuperpoweredAdvancedAudioPlayer::Process
call已将多少样本复制到音频缓冲区,但到目前为止只能通过调用SuperpoweredAdvancedAudioPlayer::lastProcessMs() * SuperpoweredAdvancedAudioPlayer::sampleRate
找到近似值。
我认为近似值足够好,但是无法访问采样级时序令人沮丧,因为当我同步两个流时它会导致一些相位故障。
答案 0 :(得分:1)
SuperpoweredAdvancedAudioPlayer的process()方法采用numberOfSamples参数。 如果process()方法返回true,则将numberOfSamples样本放入缓冲区。 所以只需累计numberOfSamples。