Flutter录音APP

一个录音小工具,github地址,https://github.com/ThinkerJack/flutter_record。

1.语言环境

Flutter SDK : stable 2.0.6

Dart SDK: stable 2.12.3

2.项目截图

3.开源软件包

flutter_sound: ^8.1.9 #录音+转MP3
path_provider: ^2.0.1 #获取文件路径
dio: ^4.0.0                        #发送网络请求
permission_handler: ^8.1.3 #请求录音权限

4.开发流程简述

  1. 检测录音权限是否开启,未开启会在APP内请求权限,将用户输入的ID传递到歌曲列表画面。
  2. 歌曲列表画面调用两个接口,一个接口获取当前账户录过多少首歌曲,一个接口获取歌曲列表,滑动列表为ListView,请求错误时弹出POP框。点击歌曲进入到录音页面。
  3. 录音页面展示的数据均为列表画面通过构造方法传入,调用flutter_sound包录音,录音结束后将acc转换为MP3,点击上传调用接口,通过FormData上传本地的MP3文件,请求错误弹出POP。

5.项目总结

技术上来说没有什么难点,没有引入过多的第三方软件包,网络请求,路由跳转,页面间传值都没有进行额外的封装。产品的原型也比较简单,没有设计图。比较大的收获是熟悉了一下FLutter项目android和IOS的打包。

android打包,命令:flutter build apk --split-per-abi,默认打包方式就是release,flutter build apk打出来的包特别大,因为多种架构模式的安卓包都打在一起了,加上--split-per-abi会把不同架构的包分开打,"armeabi-v7a", "arm64-v8a"是比较主流的,安卓也可以单独打开项目中的android文件夹,使用原生的方式进行打包,在app/build.gradle添加ndk配置,将主流的CPU架构打到一个包里,有两个地方需要特别注意,一是打包时signature中的V1和V2都需要勾选上,为了适配低版本安卓,二是app/build.gradle中的minSdkVersion决定了兼容的安卓版本,21适配安卓5.0。

IOS打包,IOS打包比较复杂,推荐一篇文章,文章有些内容有点过时,不过大部分流程都覆盖到了,简单描述一下就是在Xcode中配置好,然后flutter build ipa,生成一个Runner.xcarchive文件,双击xcarchive文件一直Next生成IPA。如果不发布到app store,需要先拿到用户的UDID,添加到Devices,然后按照官网推荐的方式获取证书Certificates,Certificates就是给开发用的电脑装的,然后生成Profiles选中Devices和Certificates。在打包时选中生成的Profiles。如果发布到app store就不需要Profiles,选中Signing选项卡里的Automatically manage signing就可以了。Certificates是必须要安装的。

第二版提升了一下录音的音质,将采样率改成了96000,将比特率改成了256000。

开源项目—FLutter开发录音APP相关推荐

  1. 完整开源项目之诗词吧 APP

    早上好,骚年,我是小菜,我的公众号「菜鸟翻身」会推荐 GitHub 上有用有趣的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值. 我的引语 明天就要上班了,这个假期你过的怎么样啊,有没有出去 ...

  2. java的开源项目哪里找,我想参加开源项目的开发,请问在网上去哪找这样的项目? 纯C语言的(非C++或JAVA)...

    我想参加开源项目的开发,请问在网上去哪找这样的项目? 纯C语言的(非C++或JAVA)以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

  3. 推荐 12 个好用的 React 的开源项目,开发效率又能提升了!

    大家好,我是你们的 猫哥,那个不喜欢吃鱼.又不喜欢喵 的超级猫又在线营业啦 ~ 平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目 1. react ...

  4. 开源项目SMSS开发指南(二)——基于libevent的线程池

    libevent是一套轻量级的网络库,基于事件驱动开发.能够实现多线程的多路复用和注册事件响应.本文将介绍libevent的基本功能以及如何利用libevent开发一个线程池. 一. 使用指南 监听服 ...

  5. 开源项目—FLutter/iOS/Android编写的三个计算器APP

    前端时间使用Flutter,iOS,Android三种技术编写了三个相同功能的计算器APP,github地址,https://github.com/ThinkerJack/android-ios-fl ...

  6. 基于Flutter开发的App商城

    计算机工程系 毕业设计报告 题 目: 基于Flutter框架的电子商城制作 专 业: 软件技术 班 级: 17移动互联2班 学 号: 31702160219 学生姓名: 赖康翔 指导教师: 沈大旺 完 ...

  7. 深度解析Flutter开发大厂App(强烈推荐,值得收藏)

    之前,也写过几篇关于 Flutter 的博文,最近,又花了一些时间学习研究 Flutter,完成了高仿大厂 App 项目 (项目使用的接口都是来自线上真实App抓包而来,可以做到和线上项目相同的效果) ...

  8. 我的MVVM开源项目《出行防疫App》已发布

    前言 大约在两年前,我发布了一个MVVM的开源小项目,我的MVVM 开源小项目已发布~ 从现在角度来看这只是一个小Demo,所以后来写了这个开源项目--出行防疫App 项目简介 出行防疫App是一款M ...

  9. 35款优秀的 SpringBoot/SpringCloud 开源项目,开发脚手架,总有一款适合你...

    简介 SpringBoot 是一个非常流行的 Java 框架,它可以帮助开发者快速构建应用程序.他不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整 ...

最新文章

  1. mysql城市联动表怎么建_MVC4.0搭建的省市县三联动,包含数据库
  2. caffe-win10-cifar10另
  3. mysql set语句_不得不注意!那些容易被忽视的MySQL字符集问题?
  4. Apache Mahout:适合所有人的可扩展机器学习框架
  5. 【Android 修炼手册】常用技术篇 -- 聊聊 Android 的打包
  6. MySQL修改字符集
  7. Servlet 参数读取
  8. rn 跳转至html5,ReactNative-从RN端跳转到原生界面
  9. 2022零售行业消费趋势新主张
  10. 55 SD配置-定价配置-定义定价过程的条件排斥
  11. MFC多文档框架 基于CVIEW视图类正常显示超出屏幕范围的部分(支持BCG库绘图)
  12. 深入理解ArrayList 和 LinkedList 区别
  13. win11快捷键失效怎么办 windows11快捷键失效的解决方法
  14. 将log4j重定向到指定函数
  15. PForDelta的介绍论文
  16. [工具] f.lux – 随时间改变屏幕色温护眼
  17. 智能电子后视镜MFC01-LCD 高配版规格书(AI-CMS)
  18. 深度学习大神都推荐入门必须读完这9篇论文
  19. springboot 启动banner 打印 佛祖保佑
  20. html onload状态事件,HTML onload事件用法及代码示例

热门文章

  1. 如何运行plink软件--三种方法
  2. vue制作一个好看的网页
  3. 计算机反复启动开不了机,电脑反复启动开不了机
  4. 微信分享api一次发送多张图片到朋友圈
  5. Orange 学习3 - Evaluate模块简介-1
  6. 济南计算机考研培训班,济南高数考研培训(考研要不要报考研班)
  7. 微软fte_当最大单位为0或0% 时,资源计划 FTE 不会按预期计算
  8. 如何用PS做平面设计?简单几招,不信你学不会!
  9. Excel工作表中定位最后单元格(FIND方法)
  10. Windows问题解决方法