介绍

这是一款参考环信的语音录制和播放库,轻量级,自带语音录制时动画效果,根据声音大小进行动画展示:

具体看图和gif动画效果:

使用步骤:

注意,目前还在开发阶段,有bug记得提issues哈

注意,6.0以上系统需要运行时授权读取sd卡和音频

1.添加Jcenter仓库 Gradle依赖:

compile 'com.ilike:voicerecorder:1.0.0'

或者

Maven

<dependency><groupId>com.ilike</groupId><artifactId>voicerecorder</artifactId><version>1.0.0</version><type>pom</type>
</dependency>

2.在Activity中添加如下代码:

/**
* 设置文件存放目录,存放路径如:/Android/data/包名/chat/voice/
* 默认不设置,路径存放为:/Android/data/包名/chat/voice/
*/
PathUtil.getInstance().createDirs("chat", "voice", appContext);
/**
* 自定义命名文件
* 默认不设置是用时间戳
*/
voiceRecorderView.setCustomNamingFile(true,"语音命名.mp3");
/**
* 自定义语音录制过程中,声音大小的动画,默认使用库文件中的动画,
* 目前默认需要设置15张图片,以后更新自定义动画帧数
*/
voiceRecorderView.setDrawableAnimation(Drawable[] animationDrawable)
/**
* 设置停止播放语音时,显示的静态icon
*/
VoicePlayClickListener.setStopPlayIcon(R.drawable.ease_chatto_voice_playing)
/**
* 设置播放语音的帧动画,
*/
VoicePlayClickListener.setPlayingIconDrawableResoure(R.drawable.voice_to_icon)-------------------------------------------------------
比如这样的动画:
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false"><itemandroid:drawable="@drawable/ease_chatto_voice_playing_f1"android:duration="200" /><itemandroid:drawable="@drawable/ease_chatto_voice_playing_f2"android:duration="200" /><itemandroid:drawable="@drawable/ease_chatto_voice_playing_f3"android:duration="200" />
</animation-list>
-------------------------------------------------------
/**
* 录制语音
*/
tvRecorder.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {return  voiceRecorderView.onPressToSpeakBtnTouch(v, event, new VoiceRecorderView.EaseVoiceRecorderCallback() {@Overridepublic void onVoiceRecordComplete(String voiceFilePath, int voiceTimeLength) {Log.e("voiceFilePath=", voiceFilePath + "  time = " + voiceTimeLength);/***voiceFilePath 为录音文件存放在sd的路径* voiceTimeLength 录音文件的时长*/}});}});

/**
* 播放SD卡本地语音路径
* imageView显示动画
* Context,上下文
* path ,语音路径
*/
new VoicePlayClickListener(imageView, Context).playVoice(path);/**
* 播放网络语音路径
* imageView显示动画
* Context,上下文
* path ,语音路径
*/
new VoicePlayClickListener(imageView, Context).playUrlVoice(path);

3.在布局文件xml中添加如下:

“`xml

    <com.ilike.voicerecorder.widget.VoiceRecorderViewandroid:id="@+id/voice_recorder"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:visibility="invisible" />

“`

喜欢记得start一下哈

https://github.com/wangshanhai/VoiceRecorder

Android仿微信语音录制和播放相关推荐

  1. android放微信@功能,Android仿微信语音消息的录制和播放功能

    一.简述 效果: 实现功能: 长按Button时改变Button显示文字,弹出Dialog(动态更新音量),动态生成录音文件,开始录音: 监听手指动作,规定区域.录音状态下手指划出规定区域取消录音,删 ...

  2. Android 仿微信语音录音小控件

    Android 仿微信语音录音小控件 前段时间一直在做IM聊天这方面的撸码工作,涉及到了很多小控件,有时间我会慢慢给大家分享一下我的小成果,希望大家一起学习,一起进步,今天来和大家来说一下Androi ...

  3. android 仿微信语音聊天

    android 仿微信语音聊天 跟着imooc老师学习 代码地址: https://github.com/tingsky9985/Weixin_Recorder

  4. Android仿微信语音聊天界面设计

    这篇文章主要为大家详细介绍了Android仿微信语音聊天界面设计代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 有段时间没有看视频了,昨天晚上抽了点空时间,又看了下鸿洋大神的视频教程,又抽时间 ...

  5. android 语音发送功能,Android仿微信、录制音频并发送功能

    MyRecorder(仿微信,录制音频并发送功能) ①布局实现(activity_main.xml)布局采用线性布局,上面使用的一个ListView,下面使用的是一个自定义的Button(会在下面进行 ...

  6. android仿微信语音聊天功能,Android仿微信发送语音消息的功能及示例代码

    微信的发送语音是有一个向上取消的,我们使用ontouchlistener来监听手势,然后做出相应的操作就行了. 直接上代码: //语音操作对象 private mediaplayer mplayer ...

  7. Android利用MedioRecorder使用仿微信语音录音以及播放(总结)

    今天模仿着微信的发送语音功能做了一下,现将步骤以及其中遇到的问题记录一下,以便以后查看. 实现功能:1.录制语音并显示到列表中:2.点击列表中的语音自动进行播放:3.录制语音时以及播放语音时的动画效果 ...

  8. Android仿微信语音聊天

    1.项目界面展示: 2.项目代码整体结构简析: (1)AudioRecorderButton类(录音按钮):State:STATE_NORMAL[正常状态].STATE_RECORDERING[正在录 ...

  9. flutter录音_Flutter 实现的仿微信语音录制功能

    插件提供的功能录制语音, 播放录音, 录制声音大小的监听 提供录制时长的监听 提供类似微信的录制组件 1,引入 在pubspec.yaml 文件上引入如下配置 引入方式1(引入最新的版本) flutt ...

  10. Android 仿微信语音聊天音量大小显示控件

    某日用微信语音功能聊天,发现当我使用语音功能时,会弹出一个窗口,窗口中间有一个控件会实时的显示我说话声音的大小(即分贝).当时觉得挺好玩,决定也仿制一个,效果如下 分析控件显示效果,可判断左边是一个i ...

最新文章

  1. TVM在ARM GPU上优化移动深度学习
  2. golang的包管理系统比较
  3. JZOJ 3596. 【CQOI2014】和谐矩阵
  4. mysql预编译表名_JDBC预编译语句表名占位异常
  5. 睿智的seq2seq模型4——往英文到法文的翻译里加上注意力机制
  6. Edraw Max 9.4中文版激活教程
  7. 安装英伟达显卡旧版驱动
  8. 怎么用python输出百分比_Python 输出百分比
  9. 计算机IP名词解释,IP地址的名词解释
  10. C++/C补充知识点,数组,数组传参,二维数组传参打印三种发方法,正则表达式
  11. Layui Table格式化日期(表格)
  12. 2003系统服务器设置,服务器2003系统设置
  13. 论剑大数据技术,效率为王!天善智能掘金数据技术沙龙【上海站 12.09】
  14. 按shift delete删除的文件还能恢复吗?shift+delete删除的文件如何恢复?
  15. 并发之Striped64(l累加器)
  16. 销售订单配置项目说明
  17. win2003服务器某一个网站被劫持,windows server 2012 iis被劫持的处理过程
  18. 大数据入门级介绍(一)
  19. 和大家分享一款使用PHP+MYSQL搭建的OA办公管理系统源码
  20. 笔记本建立WIFI热点的bat命令

热门文章

  1. 读者提问:如何提高效率?
  2. Java实现阿里云企业邮箱发送邮件
  3. TypeError: Object of type xxx is not JSON serializable错误解决
  4. PID到底是个啥?来给你讲个故事
  5. STM32 LL库串口丢包问题与解决
  6. hbase metric 监控项
  7. 如何做好HMI交互设计?
  8. html语言超链接提示,HTML超链接
  9. access无法 dolby_dolby access怎么用?
  10. 阿里拍卖全链路导购策略首次揭秘