Android仿微信语音录制和播放
介绍
这是一款参考环信的语音录制和播放库,轻量级,自带语音录制时动画效果,根据声音大小进行动画展示:
具体看图和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仿微信语音录制和播放相关推荐
- android放微信@功能,Android仿微信语音消息的录制和播放功能
一.简述 效果: 实现功能: 长按Button时改变Button显示文字,弹出Dialog(动态更新音量),动态生成录音文件,开始录音: 监听手指动作,规定区域.录音状态下手指划出规定区域取消录音,删 ...
- Android 仿微信语音录音小控件
Android 仿微信语音录音小控件 前段时间一直在做IM聊天这方面的撸码工作,涉及到了很多小控件,有时间我会慢慢给大家分享一下我的小成果,希望大家一起学习,一起进步,今天来和大家来说一下Androi ...
- android 仿微信语音聊天
android 仿微信语音聊天 跟着imooc老师学习 代码地址: https://github.com/tingsky9985/Weixin_Recorder
- Android仿微信语音聊天界面设计
这篇文章主要为大家详细介绍了Android仿微信语音聊天界面设计代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 有段时间没有看视频了,昨天晚上抽了点空时间,又看了下鸿洋大神的视频教程,又抽时间 ...
- android 语音发送功能,Android仿微信、录制音频并发送功能
MyRecorder(仿微信,录制音频并发送功能) ①布局实现(activity_main.xml)布局采用线性布局,上面使用的一个ListView,下面使用的是一个自定义的Button(会在下面进行 ...
- android仿微信语音聊天功能,Android仿微信发送语音消息的功能及示例代码
微信的发送语音是有一个向上取消的,我们使用ontouchlistener来监听手势,然后做出相应的操作就行了. 直接上代码: //语音操作对象 private mediaplayer mplayer ...
- Android利用MedioRecorder使用仿微信语音录音以及播放(总结)
今天模仿着微信的发送语音功能做了一下,现将步骤以及其中遇到的问题记录一下,以便以后查看. 实现功能:1.录制语音并显示到列表中:2.点击列表中的语音自动进行播放:3.录制语音时以及播放语音时的动画效果 ...
- Android仿微信语音聊天
1.项目界面展示: 2.项目代码整体结构简析: (1)AudioRecorderButton类(录音按钮):State:STATE_NORMAL[正常状态].STATE_RECORDERING[正在录 ...
- flutter录音_Flutter 实现的仿微信语音录制功能
插件提供的功能录制语音, 播放录音, 录制声音大小的监听 提供录制时长的监听 提供类似微信的录制组件 1,引入 在pubspec.yaml 文件上引入如下配置 引入方式1(引入最新的版本) flutt ...
- Android 仿微信语音聊天音量大小显示控件
某日用微信语音功能聊天,发现当我使用语音功能时,会弹出一个窗口,窗口中间有一个控件会实时的显示我说话声音的大小(即分贝).当时觉得挺好玩,决定也仿制一个,效果如下 分析控件显示效果,可判断左边是一个i ...
最新文章
- TVM在ARM GPU上优化移动深度学习
- golang的包管理系统比较
- JZOJ 3596. 【CQOI2014】和谐矩阵
- mysql预编译表名_JDBC预编译语句表名占位异常
- 睿智的seq2seq模型4——往英文到法文的翻译里加上注意力机制
- Edraw Max 9.4中文版激活教程
- 安装英伟达显卡旧版驱动
- 怎么用python输出百分比_Python 输出百分比
- 计算机IP名词解释,IP地址的名词解释
- C++/C补充知识点,数组,数组传参,二维数组传参打印三种发方法,正则表达式
- Layui Table格式化日期(表格)
- 2003系统服务器设置,服务器2003系统设置
- 论剑大数据技术,效率为王!天善智能掘金数据技术沙龙【上海站 12.09】
- 按shift delete删除的文件还能恢复吗?shift+delete删除的文件如何恢复?
- 并发之Striped64(l累加器)
- 销售订单配置项目说明
- win2003服务器某一个网站被劫持,windows server 2012 iis被劫持的处理过程
- 大数据入门级介绍(一)
- 和大家分享一款使用PHP+MYSQL搭建的OA办公管理系统源码
- 笔记本建立WIFI热点的bat命令