写点什么

开源项目——FLutter 开发录音 APP

发布于: 10 小时前

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 #录音+转MP3path_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。




发布于: 10 小时前阅读数: 3
用户头像

还未添加个人签名 2019.10.04 加入

微信公众号:思想者杰克

评论

发布
暂无评论
开源项目——FLutter开发录音APP