開源項目—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.開發流程簡述

  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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM