LQRAudioRecord

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

一、简述

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

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

DemoApp下载

码云:

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

GitHub:

https://github.com/GitLqr/LQRAudioRecord

以下是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() {@Overridepublic void onStart(Uri var1) {//开播(一般是开始语音消息动画)}@Overridepublic void onStop(Uri var1) {//停播(一般是停止语音消息动画)}@Overridepublic void onComplete(Uri var1) {//播完(一般是停止语音消息动画)}
});

2)结束播放:

AudioPlayManager.getInstance().stopPlay();

高仿微信语音库--LQRAudioRecord相关推荐

  1. php仿微信语音条,html5的audio实现高仿微信语音播放效果

    前言 之前做过一个微信的项目,专家回复可以录音,然后储存成mp3格式,前台可以获取mp3,客户可以在线试听mp3录音效果,今天就简单分享一下这个效果如何实现,及实现思路和方法! 效果图 前台大体呈现效 ...

  2. android高仿微信聊天页面,Android 高仿微信语音聊天页面高斯模糊(毛玻璃效果)

    目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...

  3. html5的audio实现高仿微信语音播放效果

    效果图 前台大体呈现效果图如下: 点击就可以播放mp3格式的录音.点击另外一个录音,当前录音停止! 思路 关于播放动画,这个很简单,我们可以用css3的逐帧动画来实现.关于逐帧动画,我之前的文章也写过 ...

  4. 高仿微信6.5.7(融云版)

    一.简述 本项目由 CSDN_LQR 个人独立开发. 项目博客地址:高仿微信6.5.7(融云版) 项目源码地址: GitHub:https://github.com/GitLqr/LQRWeChat ...

  5. Flutter高仿微信-第47篇-群聊-语音

     Flutter高仿微信系列共59篇,从Flutter客户端.Kotlin客户端.Web服务器.数据库表结构.Xmpp即时通讯服务器.视频通话服务器.腾讯云服务器全面讲解. 详情请查看 效果图: 详情 ...

  6. Flutter高仿微信-第36篇-单聊-语音通话

    Flutter高仿微信系列共59篇,从Flutter客户端.Kotlin客户端.Web服务器.数据库表结构.Xmpp即时通讯服务器.视频通话服务器.腾讯云服务器全面讲解. 详情请查看 效果图: 目前市 ...

  7. Kotlin高仿微信-第11篇-单聊-语音

     Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册.登录.主页.单聊(文本.表情.语音.图片.小视频.视频通话.语音通话.红包.转账).群聊.个人信息.朋友圈.支付服务.扫一扫.搜 ...

  8. Flutter高仿微信-第32篇-单聊-语音

    Flutter高仿微信系列共59篇,从Flutter客户端.Kotlin客户端.Web服务器.数据库表结构.Xmpp即时通讯服务器.视频通话服务器.腾讯云服务器全面讲解. 详情请查看 效果图: 详情请 ...

  9. iOS高仿微信完整源码,网易爱玩APP源码等

    iOS精选源码 iOS一种弹出视图效果带动画 一个快速便捷.无侵入.可扩展的动画弹框库 高仿Elk - 旅行货币转换器 iOS内分享的界面.功能一体化解决方案 使用Olami sdk实现一个语音查询股 ...

最新文章

  1. 研究者设计了Fastball任务早期诊断阿尔茨海默病
  2. 三级数据库还是linux好,08年计算机三级数据库辅导:如何修改Linux下MySQL5.0的默认连接数...
  3. 处理unsigned相减错误(BIGINT UNSIGNED value is out of range)
  4. equals()方法
  5. 【CLion】如何编译运行单个文件 (C/C++ Single File Execution插件的使用)
  6. abap 优化之ST05
  7. datatables 配套bootstrap3样式使用小结(1)
  8. 20155216 2016-2017-2 《Java程序设计》第三周学习总结
  9. centos 6.7 ssh 免密码
  10. 聊聊ES7与ES8特性
  11. C#中DataGradView控件的常用操作
  12. 如何安装2个版本的python
  13. Atitit  java jsp 新的tag技术
  14. java 中文转英文性能最快
  15. 基于SSM+Vue+OSS的“依伴汉服”商城设计与开发(含源码+论文+ppt+数据库)
  16. Unity Shader - Standard Shader 标准着色器
  17. 学习日记5-C语言函数的应用
  18. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于java网上心理咨询系统50fxl
  19. Revit中土建模块【精准生梁】快速生成
  20. Xilinx Vitis HLS教程1--Vitis HLS概述[01/12]

热门文章

  1. ps转换html适应网页尺寸,PS图片转页面CSS+HTML的步骤
  2. windows端实用的录屏软件有哪些?裂墙安利这三款, 良心推荐!
  3. 手机VIP邮箱怎么注册?探秘VIP邮箱登陆入口有哪些?
  4. 发行权一次用尽 计算机软件,发行权一次用尽在著作权法的条款
  5. 判断身份证号,根据身份证号自动生成出生日期
  6. 电商类Web原型制作分享——聚美优品
  7. CMake中include的使用
  8. 基于大学生方程式赛车的车速测量与数据显示
  9. 几个开源日志分析系统介绍
  10. 用C语言写一个人员文件管理系统(一)