Flutter 录音 APP
一个录音小工具,github 地址,https://github.com/ThinkerJac…。
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。