Audio 计算与超级强大的高级玩家一起玩的样本

Audio 计算与超级强大的高级玩家一起玩的样本,audio,superpowered,Audio,Superpowered,我正在使用SuperpoweredAdvancedAudioPlayer类来播放一个可能非常大的音频文件,该文件的编码不同(不同的比特率、采样率,甚至是编解码器)。我需要能够在示例级别将此文件的播放与另一个文件同步 我想知道每个音频缓冲区复制了多少个样本,但到目前为止,只能通过调用SuperpoweredAdvancedAudioPlayer::lastProcessMs()*SuperpoweredAdvancedAudioPlayer::sampleRate找到近似值 我认为近似值已经足够好

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

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

我认为近似值已经足够好了,但是无法访问采样级别计时令人沮丧,因为当我同步两个流时,它可能会导致某些相位闪烁。

SuperpoweredAdvancedAdudioPlayer的process()方法采用numberOfSamples参数。 如果process()方法返回true,则将numberOfSamples放入缓冲区。
因此,只需累积numberOfSamples。

谢谢,但如果SuperpoweredAudioLayer.looping=false,则当numberOfSamples>在EOF之前剩余时,处理方法将使用静音。在这种情况下,numberOfSamples不能反映实际播放的帧数。在这种情况下,请使用较长的文件,并在结尾保持一定的静音(0.1秒)。还请注意,大多数压缩音频格式(如mp3或aac)也将使用静音“pad”,因为一帧的大小是固定的。