Android 延迟/使用超级电源循环播放播放器时发出的咔哒声
我使用一个超级强大的高级音频播放器在循环中播放wav文件。问题是,每次轨道循环时,都会有一点打嗝,伴随着爆裂声和很小的延迟。这是显而易见的,使循环完全无用 下面是我用来循环的回调函数Android 延迟/使用超级电源循环播放播放器时发出的咔哒声,android,superpowered,Android,Superpowered,我使用一个超级强大的高级音频播放器在循环中播放wav文件。问题是,每次轨道循环时,都会有一点打嗝,伴随着爆裂声和很小的延迟。这是显而易见的,使循环完全无用 下面是我用来循环的回调函数 // Called by the playerA. static void playerEventCallbackA ( void * __unused clientData, SuperpoweredAdvancedAudioPlayerEvent event, v
// Called by the playerA.
static void playerEventCallbackA (
void * __unused clientData,
SuperpoweredAdvancedAudioPlayerEvent event,
void *value
) {
switch (event) {
case SuperpoweredAdvancedAudioPlayerEvent_LoadSuccess:
break;
case SuperpoweredAdvancedAudioPlayerEvent_LoadError:
log_print(ANDROID_LOG_ERROR, "Player", "Open error: %s", (char *)value);
break;
case SuperpoweredAdvancedAudioPlayerEvent_EOF:
playerA->seek(0); // loop track
break;
default:;
};
}
考虑到这个SDK的全部要点是使录制和播放的延迟最小化,我想我一定是做错了什么
任何提示?使用SuperpoweredAdvancedAudioPlayer->loop()和loopBetween()方法可以实现精确循环示例。您的wav文件来自哪里?您是否尝试过在其他音频软件中循环使用它们?我在尝试加载m4a文件时遇到了相同的问题。当我返回并使用源音频wav时,它循环良好。wav文件被记录到ExternalStorateDirectory中,从那里可以读取它们。但是,它们应该只加载一次并保留在内存中。此外,文件在其他软件中循环良好。在每次循环之前,我听到的声音很少是咔哒声,更多的是口吃/犹豫/静止。要执行此操作,我是否可以使用loopBetween()设置循环点,然后通过调用player->loop()而不是player->play()?player->play()来播放音频基本上,但您也可以使用player->loop()的一个参数启动音频谢谢,我很高兴能尝试一下。那么,在创建播放器对象之后,我是否使用loopBetween?还是把它放在回调函数中?另外,是否有必要同时使用loopBetween和loop?或者我可以使用loopBetween,然后稍后调用player->play()?感谢您的时间,这非常有帮助。当然,在创建播放器实例后,您需要调用player->loopBetween()。使用loop()或loopBetween()。