高仿微信语音库--LQRAudioRecord

LQRAudioRecord

本库集成录音与播音功能,使用简单方便,让IM集成语音不再是难题。

一、简述

该库可进行语音录制及播放,方便IM项目集成语音功能。

  1. 录音可获取分贝,并默认回传10秒倒计时。
  2. 播放时贴耳自动转为听筒播放,离耳时转公放。

DemoApp下载

码云:

https://git.oschina.net/CSDNLQR/LQRAudioRecord

GitHub:

https://github.com/GitLqr/LQRAudioRecord

以下是Demo效果:

Demo

二、引用初始化

1、依赖

compile 'com.lqr.audio:library:1.0.0'

2、权限

<!-- 录音 -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--播音-->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

三、集成

1、常规设置

1)设置最大时长:
//默认时长60秒
AudioRecordManager.getInstance(this).setMaxVoiceDuration(120);
2)设置语音位置:
//该库内不对文件夹是否存在进行判断,所以请在你的项目中自行判断
mAudioDir = new File(Environment.getExternalStorageDirectory(), "LQR_AUDIO");
if (!mAudioDir.exists()) {
    mAudioDir.mkdirs();
}

AudioRecordManager.getInstance(this).setAudioSavePath(mAudioDir.getAbsolutePath());

2、录音

录音使用的是 AudioRecordManager 类。

1)基本方法:
//开始录音
AudioRecordManager.getInstance(MainActivity.this).startRecord();

//将要取消录音(参与微信手指上滑)
AudioRecordManager.getInstance(MainActivity.this).willCancelRecord();

//继续录音(参与微信手指上滑后加下滑回到原位)
AudioRecordManager.getInstance(MainActivity.this).continueRecord();

//停止录音
AudioRecordManager.getInstance(MainActivity.this).stopRecord();

//销毁录音
AudioRecordManager.getInstance(MainActivity.this).destroyRecord();
2)录音监听:

该库提供IAudioRecordListener接口,方便用户对录音中不同事件进行处理,具体使用请参考DEMO代码(代码较多,请根据自己的项目修改),接口描述:

public interface IAudioRecordListener {

    /**
     * 初始化提示视图
     */
    void initTipView();

    /**
     * 设置倒计时提示视图
     *
     * @param counter 10秒倒计时
     */
    void setTimeoutTipView(int counter);

    /**
     * 设置正在录制提示视图
     */
    void setRecordingTipView();

    /**
     * 设置语音长度太短提示视图
     */
    void setAudioShortTipView();

    /**
     * 设置取消提示视图
     */
    void setCancelTipView();

    /**
     * 销毁提示视图
     */
    void destroyTipView();

    /**
     * 开始录制
     * 如果是做IM的话,这里可以发送一个消息,如:对方正在讲话
     */
    void onStartRecord();

    /**
     * 录制结束
     *
     * @param audioPath 语音文件路径
     * @param duration  语音文件时长
     */
    void onFinish(Uri audioPath, int duration);

    /**
     * 分贝改变
     *
     * @param db 分贝
     */
    void onAudioDBChanged(int db);

}

2、播音

播音使用的是 AudioPlayManager 类。

1)开始播放:
AudioPlayManager.getInstance().startPlay(MainActivity.this, audioUri, new IAudioPlayListener() {
    @Override
    public void onStart(Uri var1) {
        //开播(一般是开始语音消息动画)
    }

    @Override
    public void onStop(Uri var1) {
        //停播(一般是停止语音消息动画)
    }

    @Override
    public void onComplete(Uri var1) {
        //播完(一般是停止语音消息动画)
    }
});
2)结束播放:
AudioPlayManager.getInstance().stopPlay();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt Quick是Qt框架的一部分,用于开发跨平台的图形界面应用程序。它提供了一套功能强大、易于使用的工具和组件,能够快速地创建现代化的用户界面。 高仿微信是指使用Qt Quick来实现一个与微信界面相似的应用程序。借助Qt Quick的强大功能,可以轻松实现微信中常见的界面元素和交互效果,包括聊天界面、联系人列表、朋友圈等。 Qt Quick使用QML语言编写界面,具有声明式编程的特点,使得开发界面更加直观和灵活。开发者可以通过编写QML代码来描述界面的外观和行为,而无需深入了解底层的图形编程。 除了QML之外,Qt Quick还提供了一组丰富的可重用组件,如按钮、文本框、列表视图等,开发者可以直接使用这些组件来快速构建界面。同时,Qt Quick还支持自定义组件的开发,开发者可以根据需要创建自己的独特组件。 在实现高仿微信过程中,可以利用Qt Quick的布局系统来构建复杂的界面布局,使用动画效果和过渡效果来增加用户体验,还可以通过Qt Quick提供的网络模块实现与服务器的通信,实现实时聊天功能。 总之,借助Qt Quick的强大功能和易用性,可以快速开发出高仿微信的应用程序,实现类似的界面和功能。无论是从界面还是从交互体验方面,Qt Quick都能满足开发者的需求,并帮助开发者更加高效地开发出优秀的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值