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 ...
最新文章
- Linux下MySQL的字符集乱码问题总结
- php和python哪个用了开发web好-php web与python web哪个好
- IDEA Project Structure 配置说明
- js对html进行转义和反转义的操作
- 【Python刷题】_9
- display详细说明
- CodeSmith终极玩法
- 检测到python编程环境中存在多个版本_linux下多个python版本怎么管理?
- java 线程 释放_java线程似乎不会被释放
- go如何进行交叉编译
- 深入理解 Python 异步编程(上)
- APICloud构建APK个文件作用说明
- python全自动化渗透工具_Python自动化渗透(一)
- 网维大师icafe网吧管理软件 v6.0.3.3 官方
- 用window.dialogArguments时出现window.dialogArguments is undefined
- ace unlck工具下载_iPhoneX如何解锁ID激活锁
- java中abstract什么意思中文,abstraction(abstraction什么意思中文)
- GNU Radio AM调制解调(一)
- pil对图像加透明 python_关于python:如何使用PIL将透明png图像与另一个图像合并...
- JS 轮播图 图片切换(定时器)
热门文章
- 诗歌集《触摸世界》30首摘录,对未来我是认真的
- excel出现为了防止数据流失,无法移走非空单元格怎么办
- ad中电容用什么封装_贴片电容有什么用其中作用有哪些?
- Python调用OpenCV接口实现网络摄像头录像和抓拍图片
- 网络工程师_记录的一些真题_2017上半年上午
- 计算机高级职称考试报考条件,高级工程师证怎么考 报考条件
- 基于Python实现的手写数字识别系统
- srt文件从英文翻译到中文
- .Net FW上线报错:The OwinStartup attribute discovered in assembly ‘AppName‘.
- 【Mac实用技巧】Mac如何修复YouTube视频黑屏现象?