计算使用SuperpoweredAdvancedAudioPlayer播放的样本

时间:2016-10-16 12:06:37

标签: audio superpowered

我正在使用SuperpoweredAdvancedAudioPlayer类来播放可能非常大的音频文件,其编码各不相同(不同的比特率,采样率,甚至编解码器)。我需要能够在样本级别将此文件的播放与另一个文件同步。

我想知道每个SuperpoweredAdvancedAudioPlayer::Process call已将多少样本复制到音频缓冲区,但到目前为止只能通过调用SuperpoweredAdvancedAudioPlayer::lastProcessMs() * SuperpoweredAdvancedAudioPlayer::sampleRate找到近似值。

我认为近似值足够好,但是无法访问采样级时序令人沮丧,因为当我同步两个流时它会导致一些相位故障。

1 个答案:

答案 0 :(得分:1)

SuperpoweredAdvancedAudioPlayer的process()方法采用numberOfSamples参数。 如果process()方法返回true,则将numberOfSamples样本放入缓冲区。 所以只需累计numberOfSamples。