我正在尝试使用NDK在Android上创建基于流的音频应用程序(这反过来又使用了开放式SLES)。我有基本的流媒体设置工作。
我需要知道在Android中如何处理欠载(或超限)?错误回调如何实现?如何获得AudioPlayer缺乏数据的持续时间?

提前致谢。

最佳答案

在缓冲区队列的接口上使用RegisterCallback注册回调后,可以调用以SetCallbackEventsMask为掩码位之一的SL_BUFFERQUEUEEVENT_ERROR

我不知道有什么简单的方法可以检索AudioPlayer饿死数据的持续时间,但是您可以通过处理自己的计时器并使用GetState API(也可以从缓冲区队列的接口对象中)来实现此目的为了获得缓冲区队列为空的时间量。

希望这可以帮助!

08-05 03:46