public abstract static class IAudioBufferHandler.Skeleton extends java.lang.Object implements IAudioBufferHandler
工具类,创建 IAudioBufferHandler 接口实例时建议使用此类。
可以在 IAudioBufferHandler 接口有新增回调函数时保证兼容性。
举例:假设使用 IAudioBufferHandler 时,用下面的方法
IAudioBufferHandler handler = new IAudioBufferHandler() {
// ... 实现 IAudioBufferHandler 的各接口函数
};
后来在版本升级中 IAudioBufferHandler 增加了 public void onFooEvent(); 那么,使用者升级时需要修改上述代码,增加 onFooEvent 的实现。 如果改用下面的实现,则可避免修改。
IAudioBufferHandler handler = new IAudioBufferHandler.Skeleton() {
// ... 重写 IAudioBufferHandler 中必要接口的实现
};
SDK 在维护 Skeleton 时会增加 onFooEvent 的默认实现。除非使用者有必要处 理 onFooEvent,否则没有必要修改原来的代码。
IAudioBufferHandler.SkeletonbufferEmpty, bufferFull, getData, getPause, putData, putPause| 构造器和说明 |
|---|
Skeleton() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
onBufferEmpty()
|
void |
onBufferFull()
|
void |
onClosed()
AudioBuffer 缓冲区被关闭,与 IAudioBufferHandler.getFlags() 中返回标志位无关。 |
void |
onDataGet(int bytes,
long bytesTotal)
|
void |
onDataPut(int bytes,
long bytesTotal)
|
void |
onGetPaused(boolean paused)
|
void |
onPutPaused(boolean paused)
|
getFlagspublic void onDataPut(int bytes,
long bytesTotal)
IAudioBufferHandler当 AudioBuffer 写入数据后被调用
IAudioBufferHandler.getFlags() 返回标志位中须包含 IAudioBufferHandler.putData
onDataPut 在接口中 IAudioBufferHandlerbytes - 本次写入字节数bytesTotal - 已写入总字节数public void onDataGet(int bytes,
long bytesTotal)
IAudioBufferHandler当 AudioBuffer 读取数据后被调用
IAudioBufferHandler.getFlags() 返回标志位中须包含 IAudioBufferHandler.getData
onDataGet 在接口中 IAudioBufferHandlerbytes - 本次读取字节数bytesTotal - 已读取总字节数public void onBufferEmpty()
IAudioBufferHandlerAudioBuffer 缓冲区数据变空
IAudioBufferHandler.getFlags() 返回标志位中须包含 IAudioBufferHandler.bufferEmpty
onBufferEmpty 在接口中 IAudioBufferHandlerpublic void onBufferFull()
IAudioBufferHandlerAudioBuffer 缓冲区数据变满
IAudioBufferHandler.getFlags() 返回标志位中须包含 IAudioBufferHandler.bufferFull
onBufferFull 在接口中 IAudioBufferHandlerpublic void onPutPaused(boolean paused)
IAudioBufferHandlerAudioBuffer 数据写入挂起操作
IAudioBufferHandler.getFlags() 返回标志位中须包含 IAudioBufferHandler.putPause
onPutPaused 在接口中 IAudioBufferHandlerpaused - true 表示被挂起,false 表示取消挂取public void onGetPaused(boolean paused)
IAudioBufferHandlerAudioBuffer 数据读取挂起操作
IAudioBufferHandler.getFlags() 返回标志位中须包含 IAudioBufferHandler.getPause
onGetPaused 在接口中 IAudioBufferHandlerpaused - true 表示被挂起,false 表示取消挂取public void onClosed()
IAudioBufferHandlerAudioBuffer 缓冲区被关闭,与 IAudioBufferHandler.getFlags() 中返回标志位无关。
onClosed 在接口中 IAudioBufferHandler