介绍

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

具体看图和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. Linux下MySQL的字符集乱码问题总结
  2. php和python哪个用了开发web好-php web与python web哪个好
  3. IDEA Project Structure 配置说明
  4. js对html进行转义和反转义的操作
  5. 【Python刷题】_9
  6. display详细说明
  7. CodeSmith终极玩法
  8. 检测到python编程环境中存在多个版本_linux下多个python版本怎么管理?
  9. java 线程 释放_java线程似乎不会被释放
  10. go如何进行交叉编译
  11. 深入理解 Python 异步编程(上)
  12. APICloud构建APK个文件作用说明
  13. python全自动化渗透工具_Python自动化渗透(一)
  14. 网维大师icafe网吧管理软件 v6.0.3.3 官方
  15. 用window.dialogArguments时出现window.dialogArguments is undefined
  16. ace unlck工具下载_iPhoneX如何解锁ID激活锁
  17. java中abstract什么意思中文,abstraction(abstraction什么意思中文)
  18. GNU Radio AM调制解调(一)
  19. pil对图像加透明 python_关于python:如何使用PIL将透明png图像与另一个图像合并...
  20. JS 轮播图 图片切换(定时器)

热门文章

  1. 诗歌集《触摸世界》30首摘录,对未来我是认真的
  2. excel出现为了防止数据流失,无法移走非空单元格怎么办
  3. ad中电容用什么封装_贴片电容有什么用其中作用有哪些?
  4. Python调用OpenCV接口实现网络摄像头录像和抓拍图片
  5. 网络工程师_记录的一些真题_2017上半年上午
  6. 计算机高级职称考试报考条件,高级工程师证怎么考 报考条件
  7. 基于Python实现的手写数字识别系统
  8. srt文件从英文翻译到中文
  9. .Net FW上线报错:The OwinStartup attribute discovered in assembly ‘AppName‘.
  10. 【Mac实用技巧】Mac如何修复YouTube视频黑屏现象?