我现在需要在安卓平台上使用kotlin开发一个录音和播放的相关功能，有以下几个要点
1.由于需要低延迟的特性需要使用oboe这个库来完成录音和播放功能
2.封装使用oboe完成录音和播放功能，由于这2个功能使用方式相同，所以使用这2个功能都继承一个基类进行复用重复代码
3.录音和播放需要有个回调方法用于kotlin层编写对应的业务逻辑
4.录音和播放需要在kotlin层提供设置采样率、位宽和通道数以及录音的回调
5.位宽有16位、24位、32位和float，但是个别手机可能不支持，所以需要判断是否支持
6.通道数需要支持单声道和立体声
7.需要在kotlin层提供开始录音、停止录音、开始播放、停止播放等控制功能
8.需要对录音和播放可能出现的异常进行处理并在kotlin层提供异常回调方法
9.需要提供录音和播放的音量监测功能，可以在kotlin层设置对应的回调方法
10.在录音和播放的过程中可能会存在多种异常情况，比如录音设备被占用、没有录音权限、录音设备关闭等，需要在代码中对这些异常情况进行捕捉和处理并反馈给用户。
请帮我完成以上功能实现