开源项目—FLutter开发录音APP
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.开发流程简述
- 检测录音权限是否开启,未开启会在APP内请求权限,将用户输入的ID传递到歌曲列表画面。
- 歌曲列表画面调用两个接口,一个接口获取当前账户录过多少首歌曲,一个接口获取歌曲列表,滑动列表为ListView,请求错误时弹出POP框。点击歌曲进入到录音页面。
- 录音页面展示的数据均为列表画面通过构造方法传入,调用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相关推荐
- 完整开源项目之诗词吧 APP
早上好,骚年,我是小菜,我的公众号「菜鸟翻身」会推荐 GitHub 上有用有趣的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值. 我的引语 明天就要上班了,这个假期你过的怎么样啊,有没有出去 ...
- java的开源项目哪里找,我想参加开源项目的开发,请问在网上去哪找这样的项目? 纯C语言的(非C++或JAVA)...
我想参加开源项目的开发,请问在网上去哪找这样的项目? 纯C语言的(非C++或JAVA)以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...
- 推荐 12 个好用的 React 的开源项目,开发效率又能提升了!
大家好,我是你们的 猫哥,那个不喜欢吃鱼.又不喜欢喵 的超级猫又在线营业啦 ~ 平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目 1. react ...
- 开源项目SMSS开发指南(二)——基于libevent的线程池
libevent是一套轻量级的网络库,基于事件驱动开发.能够实现多线程的多路复用和注册事件响应.本文将介绍libevent的基本功能以及如何利用libevent开发一个线程池. 一. 使用指南 监听服 ...
- 开源项目—FLutter/iOS/Android编写的三个计算器APP
前端时间使用Flutter,iOS,Android三种技术编写了三个相同功能的计算器APP,github地址,https://github.com/ThinkerJack/android-ios-fl ...
- 基于Flutter开发的App商城
计算机工程系 毕业设计报告 题 目: 基于Flutter框架的电子商城制作 专 业: 软件技术 班 级: 17移动互联2班 学 号: 31702160219 学生姓名: 赖康翔 指导教师: 沈大旺 完 ...
- 深度解析Flutter开发大厂App(强烈推荐,值得收藏)
之前,也写过几篇关于 Flutter 的博文,最近,又花了一些时间学习研究 Flutter,完成了高仿大厂 App 项目 (项目使用的接口都是来自线上真实App抓包而来,可以做到和线上项目相同的效果) ...
- 我的MVVM开源项目《出行防疫App》已发布
前言 大约在两年前,我发布了一个MVVM的开源小项目,我的MVVM 开源小项目已发布~ 从现在角度来看这只是一个小Demo,所以后来写了这个开源项目--出行防疫App 项目简介 出行防疫App是一款M ...
- 35款优秀的 SpringBoot/SpringCloud 开源项目,开发脚手架,总有一款适合你...
简介 SpringBoot 是一个非常流行的 Java 框架,它可以帮助开发者快速构建应用程序.他不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整 ...
最新文章
- mysql城市联动表怎么建_MVC4.0搭建的省市县三联动,包含数据库
- caffe-win10-cifar10另
- mysql set语句_不得不注意!那些容易被忽视的MySQL字符集问题?
- Apache Mahout:适合所有人的可扩展机器学习框架
- 【Android 修炼手册】常用技术篇 -- 聊聊 Android 的打包
- MySQL修改字符集
- Servlet 参数读取
- rn 跳转至html5,ReactNative-从RN端跳转到原生界面
- 2022零售行业消费趋势新主张
- 55 SD配置-定价配置-定义定价过程的条件排斥
- MFC多文档框架 基于CVIEW视图类正常显示超出屏幕范围的部分(支持BCG库绘图)
- 深入理解ArrayList 和 LinkedList 区别
- win11快捷键失效怎么办 windows11快捷键失效的解决方法
- 将log4j重定向到指定函数
- PForDelta的介绍论文
- [工具] f.lux – 随时间改变屏幕色温护眼
- 智能电子后视镜MFC01-LCD 高配版规格书(AI-CMS)
- 深度学习大神都推荐入门必须读完这9篇论文
- springboot 启动banner 打印 佛祖保佑
- html onload状态事件,HTML onload事件用法及代码示例