Подсчет сэмплов, сыгранных с помощью SuperpoweredAdvancedAudioPlayer

Я использую SuperpoweredAdvancedAudioPlayer класс для воспроизведения потенциально очень большого аудиофайла, кодировка которого варьируется (разные битрейты, частоты дискретизации, даже кодеки). Мне нужно иметь возможность синхронизировать воспроизведение этого файла с другим файлом на уровне семпла.

Я хотел бы знать, сколько семплов было скопировано в аудио-буфер для каждого SuperpoweredAdvancedAudioPlayer::Process позвонить, но до сих пор можно найти только приближение, позвонив SuperpoweredAdvancedAudioPlayer::lastProcessMs() * SuperpoweredAdvancedAudioPlayer::sampleRate,

Я предполагаю, что аппроксимация была бы достаточно хорошей, но невозможность получить доступ к синхронизации на уровне выборки разочаровывает, так как это может привести к некоторому сбою фазы, когда я синхронизирую два потока.

1 ответ

Метод process() класса SuperpoweredAdvancedAudioPlayer принимает параметр numberOfSamples. Если метод process() возвращает true, он помещает выборки numberOfSamples в буфер. Так что просто накапливайте число образцов.

Другие вопросы по тегам