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