该库是一个录音模块,用于Android平台,分别有使用Java和Kotlin实现的两套代码,目前包含两种样式:DragAudioRecorder,FloatAudioRecorder.
最低API版本要求 API 15 (Android 4.0.3)
另外需要额外引用一个Kotlin的库,在你的module的build.gradle文件中添加如下Kotlin库
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.4-2+"
}
使用相应AudioRecorder的子类Builder,如欲使用DragAudioRecorder,则需使用DragAudioRecorder.Builder 并对其进行配置,最后调用build方法构造一个AudioRecorder对象,然后可以对其进行操作,如显示和隐藏。
setDirPath(dirPath:String): 设置存放录音文件的绝对路径
setFileName(fileName:String): 设置录音文件名(不含文件扩展名)
setOnFinishListener(listener:AudioRecorder.OnFinishListener): 设置录音完成的监听事件,在录音结束后会调用
AudioRecorder.OnFinishListener.onFinish(filePath:String): filePath为录音文件的绝对路径,如果录音取消或者失败则为空字符串""
DragAudioRecorder.Builder的方法:
setAttachedRecorderButton(view:View): 设置需要依附的view,例如使用一个button,会响应其触摸事件,按住button会弹出提示并开始录音
FloatAudioRecorder.Builder的方法:
setContext(context:Context): 设置context
FloatAudioRecorder的方法:
show(): 显示录音控件
cancel(): 取消显示录音控件
isShowing(): 获取当前录音控件的显示状态
//使用DragAudioRecorder
DragAudioRecorder.Builder
//required
.setAttachedRecorderButton(button1)
//optional
.setDirPath(dragDirPath)
.setFileName(System.currentTimeMillis().toString() + "_drag")
.setOnFinishListener(object : AudioRecorder.OnFinishListener {
override fun onFinish(filePath: String) {
Toast.makeText(this@MainActivity, filePath, Toast.LENGTH_SHORT).show()
}
})
//build and initialize
.build()
//使用FloatAudioRecorder
val floatAudioRecorder = FloatAudioRecorder.Builder
//required
.setContext(this)
//optional
.setDirPath(floatDirPath)
.setFileName(System.currentTimeMillis().toString() + "_float")
.setOnFinishListener(object : AudioRecorder.OnFinishListener {
override fun onFinish(filePath: String) {
Toast.makeText(this@MainActivity, filePath, Toast.LENGTH_SHORT).show()
}
})
//build and initialize
.build()
//get status
val isShowing=floatAudioRecorder.isShowing()
//show the recorder
floatAudioRecorder.show()
//cancel the recorder
floatAudioRecorder.cancel()