android按住录音按钮_录制语音消息的按钮(VoiceButton)

最近项目中有发送语音消息的需求,需要实现一个类似微信录制并发送语音的按钮,为了避免重复造轮子已发布到了jcenter,希望可以方便部分有同样需求的朋友或者提供一些参考。

使用效果图:

环境

androidx

kotlin

使用方法

1.添加权限

需要在AndroidManifest.xml文件中声明麦克风权限并在Android 6.0及以上版本中动态询问获取权限。

2.添加依赖

在模块的build.gradle文件中声明如下依赖

implementation 'com.lizhidan.voicebutton:voicebutton:1.0.1'

3.布局文件中定义控件

VoiceButton继承AppCompatButton可使用其所有属性进行自定义效果。

android:id="@+id/vb_record"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="长按录音" />

4.代码中使用

private lateinit var vbRecord: VoiceButton

...

vbRecord = findViewById(R.id.vb_record)

//自定义录音最大长度,默认60秒

vbRecord.setMaxRecordLength(20 * 1000)

vbRecord.setRecorderListener(object : RecorderListener {

override fun onStart() {

Log.d(TAG, "开始(触发)本次录音,可能会因为录音时间太短取消本次录音")

}

override fun onFinish(

time: Long,

filePath: String?

) {

Log.d(TAG, "完成了本次录音")

recoderAdapter!!.addData(RecorderInfo(time, filePath!!))

}

})

具体可参考项目中的示例


版权声明:本文为weixin_28923881原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。