我正在尝试使用NDK在Android上创建基于流的音频应用程序(使用打开的SLES)。我有基本的流设置工作。 我需要知道在Android中如何处理欠载(或溢出)?如何实现错误回调?如何获得AudioPlayer饿死数据的持续时间?
先谢谢。
答案 0 :(得分:0)
在缓冲区队列的界面上使用RegisterCallback
注册回调后,您可以将SetCallbackEventsMask
作为掩码位之一调用SL_BUFFERQUEUEEVENT_ERROR
。
我不知道有任何直接的方法来检索AudioPlayer一直渴望数据的持续时间,但您可以通过处理自己的计时器并使用GetState
API(也来自缓冲队列的接口对象)以获取缓冲区队列为空的时间。
希望这有帮助!