使用Flutter实现仿微信录音的插件

使用Flutter实现 仿微信录音的插件

插件支持android 和IOS


插件提供的功能

  1. 录制语音,
  2. 播放录音,
  3. 录制声音大小的监听
  4. 提供类似微信的录制组件

1,引入

在pubspec.yaml 文件上引入如下配置

引入方式1(引入最新的版本)
flutter_plugin_record:
    git:
      url: https://github.com/yxwandroid/flutter_plugin_record.git

引入方式二 (引入指定某次commit)
flutter_plugin_record:
    git:
      url: https://github.com/yxwandroid/flutter_plugin_record.git
      ref: 29c02b15835907879451ad9f8f88c357149c6085
      
 引入方式3 (引入Flutter仓库的library)
 dependencies:
   flutter_plugin_record: ^0.0.3

使用

1, 初始化录制

可以在页面初始化的时候进行初始化比如: 在initState方法中进行初始化

//实例化对象 
FlutterPluginRecord   recordPlugin = new FlutterPluginRecord();
//    初始化
recordPlugin.init()

2, 开始录制

 recordPlugin.start()

3, 停止录制

 recordPlugin.stop()

4, 播放

 recordPlugin.play()

3, 释放资源

可以在页面退出的时候进行资源释放 比如在 dispose方法中调用如下代码

 recordPlugin.dispose()

4,回调监听

1,初始化回调监听

///初始化方法的监听
recordPlugin.responseFromInit.listen((data) {
  if (data) {
    print("初始化成功");
  } else {
    print("初始化失败");
  }
});

2,开始录制停止录制监听

 /// 开始录制或结束录制的监听
    recordPlugin.response.listen((data) {
      if (data.msg == "onStop") {
        ///结束录制时会返回录制文件的地址方便上传服务器
        print("onStop  " + data.path);
      } else if (data.msg == "onStart") {
        print("onStart --");
      }
    });

3,录制声音大小回调监听

 ///录制过程监听录制的声音的大小 方便做语音动画显示图片的样式
    recordPlugin.responseFromAmplitude.listen((data) {
      var voiceData = double.parse(data.msg);
      var tempVoice = "";
      if (voiceData > 0 && voiceData < 0.1) {
        tempVoice = "images/voice_volume_2.png";
      } else if (voiceData > 0.2 && voiceData < 0.3) {
        tempVoice = "images/voice_volume_3.png";
      } else if (voiceData > 0.3 && voiceData < 0.4) {
        tempVoice = "images/voice_volume_4.png";
      } else if (voiceData > 0.4 && voiceData < 0.5) {
        tempVoice = "images/voice_volume_5.png";
      } else if (voiceData > 0.5 && voiceData < 0.6) {
        tempVoice = "images/voice_volume_6.png";
      } else if (voiceData > 0.6 && voiceData < 0.7) {
        tempVoice = "images/voice_volume_7.png";
      } else if (voiceData > 0.7 && voiceData < 1) {
        tempVoice = "images/voice_volume_7.png";
      }
      setState(() {
        voiceIco = tempVoice;
        if(overlayEntry!=null){
          overlayEntry.markNeedsBuild();
        }
      });

      print("振幅大小   " + voiceData.toString() + "  " + voiceIco);
    });

2,录制组件的使用

组件使用效果

IOS效果

在这里插入图片描述
android效果

在这里插入图片描述

1,在使用的页面进行导入package

import 'package:flutter_plugin_record/index.dart';  

2,在使用的地方引入VoiceWidget组件

new VoiceWidget(),

GitHub地址

GitHub地址

有问题可以在Github上提issue 看到会及时回复

关注公众号获取更多内容

在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Flutter是一个用于构建跨平台移动应用的开源框架,而Fluttersound是Flutter的一个音频处理库。要实现微信功能,可以借助FlutterFluttersound进行开发。 首先,我们可以利用Flutter的UI组件和布局系统,构建用户界面,包括聊天界面、联系人列表、朋友圈等。Flutter提供了丰富的组件和布局选项,可以根据微信的设计规范进行界面开发。 其次,我们可以利用Fluttersound来实现音频的录制和播放功能Fluttersound提供了丰富的音频处理功能,包括录制、播放、暂停、停止等操作。我们可以利用这些功能实现微信中的语音消息功能,用户可以通过点击按钮进行录音,然后将录制的语音发送给好友进行播放。 同时,我们还可以利用Fluttersound来实现聊天界面中的声音通话功能Fluttersound提供了音频编码和解码的功能,可以将用户的声音编码为音频数据,发送给对方进行播放。 除了音频功能,我们还可以利用Flutter的网络请求库来实现微信中的消息发送和接收功能Flutter提供了http库,可以发送HTTP请求和接收响应,我们可以利用这个库来实现聊天消息的发送和接收。 总结来说,利用FlutterFluttersound可以实现微信的大部分功能,包括界面开发、音频消息的录制与播放、声音通话和消息的发送与接收等。通过充分发挥FlutterFluttersound的优势,我们可以快速构建出一个功能齐全的微信应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值