序言

最近开发了一个语音输入控件,UI效果和微信的保持基本一直,除了颜色不一样。具体的功能如下

  • 动画效果和微信一样,都是通过声音的分贝大小驱动动画的大小
  • 如果声音过小,会进入监听模式,(一个小波浪从右到左移动)
  • 录音的气泡会随着时间不断变大
  • 最长支持60秒录音,在最后十秒会震动提示用户
  • 最后十秒会有倒计时,如果超时会自动截取
  • 支持转MP3格式
  • 使用简单,一个回调返回语音文件的地址和语音的时长

效果

这个demo 包含了录音,播放,权限申请的所有功能。建议自己下载试一试效果。

动画效果

监听模式(声音太小的时候自动进入)

其他功能

上滑取消和超时提醒

使用

布局文件中直接引用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><androidx.recyclerview.widget.RecyclerViewandroid:layout_width="match_parent"android:id="@+id/recyclerView"android:layout_height="match_parent"android:layout_weight="1" /><RelativeLayoutandroid:id="@+id/layout_voice"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#f5f5f5"><com.example.wxsoundrecord.voice.RecordButtonandroid:id="@+id/btnAudio"android:paddingStart="140dp"android:paddingEnd="140dp"style="?android:attr/borderlessButtonStyle"android:layout_width="match_parent"android:layout_height="40dp"android:layout_margin="10dp"android:background="@drawable/dyps_shape_txt_bg"android:drawableStart="@drawable/dypc_ic_voice_press"android:gravity="center"android:text="按住说话"android:textSize="13dp"android:visibility="visible" /></RelativeLayout>
</LinearLayout>

java中 默认转换MP3 是自动开启的。

          RecordButton recordButton = findViewById(R.id.btnAudio);recordButton.setUseMP3(true);//使用mp3格式recordButton.setOnFinishedRecordListener(new RecordButton.OnFinishedRecordListener() {@Overridepublic void onFinishedRecord(String audioPath, int time) {VoiceMsg msg = new VoiceMsg(audioPath, time, System.currentTimeMillis());voiceMsgList.add(msg);adapter.notifyDataSetChanged();recyclerView.scrollToPosition(voiceMsgList.size() - 1);}});

感谢

wav 转 mp3 使用的是下面这个库

AndroidAudioConverter

需要在Application中初始化

public class MyApp  extends Application {@Overridepublic void onCreate() {super.onCreate();//wav转mp3工具AndroidAudioConverter.load(this, new ILoadCallback() {@Overridepublic void onSuccess() {// Great!}@Overridepublic void onFailure(Exception error) {// FFmpeg is not supported by device}});}

实现

还是挺复杂的,准备单独弄一篇博客介绍

源码

WXSoundRecord

仿微信录音功能-(声波动画,上滑取消,超时截取,倒计时提醒)相关推荐

  1. Android仿微信发送语音消息动态提示,支持上滑取消发送

    Android仿微信发送语音消息动态提示,支持上滑取消发送 先来几张图说明一下,简单直接: 是不是看了图片就秒懂 了. 下面来分析代码实现,直接撸代码. 主页面 AudioSendActivity.j ...

  2. iOS开发-类似微信录音上滑取消功能

    iOS开发-类似微信录音上滑取消功能 前言 效果 代码 先自定义UIButton 使用 监听上下滑动代码 前言 在社交媒体中开发中遇到需要做类似微信录音上滑取消功能,例子,虽然不是很好看,但是细节满满 ...

  3. uniapp小程序实现长按录音、上滑取消的与语言录入模块(CSS实现语音音阶动画效果)

    这里写目录标题 语言录入模块 实现效果 HTML部分 JS部分 CSS部分 总结 语言录入模块 实现效果 HTML部分 代码如下: <template><view :class=&q ...

  4. 安卓仿微信录音功能实现

    WeixinRecord 简介 仿安卓微信客户端录音与播放功能.其中录音功能以工具类形式封装,可以直接调用.播放功能以example形式提供解决思路,可以自己定制需要的特定功能. 功能 录音功能: 长 ...

  5. android com.mylhyl,Android 高仿微信朋友圈拍照上传功能

    模仿微信朋友圈发布动态,输入文字支持文字多少高度自增,有一个最小输入框高度,输入文字有限制,不过这些都很easy! 1. photopicker的使用 这是一个支持选择多张图片,点击图片放大,图片之间 ...

  6. android 微信高仿,Android 高仿微信朋友圈拍照上传功能

    模仿微信朋友圈发布动态,输入文字支持文字多少高度自增,有一个最小输入框高度,输入文字有限制,不过这些都很easy! 1. PhotoPicker的使用 这是一个支持选择多张图片,点击图片放大,图片之间 ...

  7. 短视频平台源码,iOS 仿微信语音输入动画

    短视频平台源码,iOS 仿微信语音输入动画实现的相关代码 // // PBSpeechRecognizer.h // ParkBest // // Created by summerxx27 on 2 ...

  8. Android仿微信朋友圈图片上传选择器布局

    标题有点绕口,直接上一个效果图,如果符合你的需求的请在往下看,避免浪费你的时间 当当当当,标红的区域就是今天我们要干的活了 ,搞起来! 思路: 对android有点了解的人都知道在列表显示中我们可以使 ...

  9. android 录音的格式转换,Android仿微信录音功能(录音后的raw文件转mp3文件)

    现在很多时候需要用到录音,然后如果我们的App是ios和android两端的话,就要考虑录音的文件在两端都能使用,这个时候就需要适配,两端的录音文件都要是mp3文件,这样才能保证两边都能播放. 针对这 ...

最新文章

  1. 软考网络规划设计师论文考察要点
  2. dos下操作mysql数据库常用命令
  3. ASP.NET Core - 基于IHttpContextAccessor实现系统级别身份标识
  4. [Swift]LeetCode86. 分隔链表 | Partition List
  5. C# 或Asp.Net 将excel表格导入数据库
  6. day02-虚拟环境安装
  7. 深度学习笔记——生成模型
  8. Qt4_在Qt设计师中集成自定义窗口部件
  9. output在delete中的应用
  10. 计算机终止程序按钮,怎样在VisualBasic中终止计算机系统呢?
  11. prometheus监控redis(无metric接口)
  12. HDU1164 Eddy's research I(解法二)【废除!!!】
  13. Pytorch之模型加载/保存
  14. 3Idiots-2014-Kaggle 比赛源码走读
  15. 阅读不懂,图书之过——《大话设计模式》创作历程 (转载)
  16. 【国庆特辑】43份元宇宙报告
  17. MobSF移动安全检测框架简述
  18. php 2g文件,php 超大文件下载类 支持2g以上文件 支持断点续传_PHP教程 - range
  19. 封神台----尤里的复仇I-第四章:为了更多的权限!留言板!!
  20. c语言1张纸牌大小,纸牌游戏13张比大小(2最小A最大),求分析和改进

热门文章

  1. HDU6578 2019HDU多校训练赛第一场 1001 (dp)
  2. 中国工程科学院计算机院士,重磅!中国科学院和中国工程院2019新院士名单公布!50所高校新晋院士77人...
  3. 将一个文字的大集合按照第一个文字的首字母进行切分
  4. 语言模型(马尔可夫模型,n元语法)
  5. 【强推文章】如果你在犹豫要不要去外包公司,不妨看看这篇文章(自己深有感触)
  6. 数据可视化之汽车销量,截止到2022年目前中国汽车保有量是3.02亿辆
  7. 懂车帝新能源汽车销量分析
  8. Unity下载文件并显示进度
  9. 华为服务器2285怎么做系统,华为服务器2285进bios
  10. 在服务器上部署自己的h5页面用于微信内部浏览器打开