Flutter recording APP

A recording widget, github address, github.com/ThinkerJack… .

1. Language environment

Flutter SDK: Stable 2.0.6

Dart SDK: stable 2.12.3

2. Project screenshots

3. Open source software packages

Flutter_sound: ^8.1.9 # Record + go to MP3 path_provider: ^2.0.1 # Get file path dio: ^4.0.0 # Send network request permission_handler: ^8.1.3 # Request record permissionCopy the code

4. Brief introduction of development process

  1. Check whether the recording permission is enabled. If it is not enabled, the permission will be requested in the APP and the ID entered by the user will be transferred to the song list screen.
  2. Song list screen calls two interfaces, one interface to get how many songs the current account has recorded, one interface to get the song list, slide the list as ListView, POP box pops up when the request is wrong. Click the song to enter the recording page.
  3. The data displayed on the recording page are all tabled images imported through the constructor method, and the flutter_sound package is called to record. After recording, the ACC is converted to MP3. Click upload to invoke the interface, and upload the local MP3 file through FormData.

5. Project summary

Technically, there are no difficulties, no excessive introduction of third-party software packages, no additional encapsulation of network requests, routing, and value transfer between pages. The prototype of the product is also relatively simple, with no blueprints. One of the biggest gains was getting familiar with the FLutter project’s Android and IOS packaging.

Android package, command: Flutter build apk –split-per-abi. The default package type of flutter build APk is release. “Armeabi-v7a” and “ARM64-V8A” are more mainstream. Android can also open the Android folder in the project separately and use the native way to pack. • Add NDK configuration to app/build.gradle to pack mainstream CPU architecture into a package. There are two points that need special attention. First, V1 and V2 in signature need to be checked when packaging. MinSdkVersion in app/build.gradle determines the compatible Android version. 21 is compatible with Android 5.0.

Some of the content of the article is a little outdated, but most of the process is covered. A brief description is to configure the flutter in Xcode, and then build ipA to generate a Runner. Xcarchive file. Double-click xCarchive file all the way to Next to generate IPA. If you do not publish it in app Store, you need to get the user’s UDID first, add it to Devices, and then obtain the certificate Certificates in the way recommended by the official website. The Certificates are installed for the computer used for development. Then generate Profiles to check Devices and Certificates. Select the generated Profiles when packaging. Profiles will not be required if you publish to the App Store. Simply check Automatically Manage Signing on the Signing TAB. Certificates must be installed.

The second version improved the sound quality of the recording, changing the sampling rate to 96000 and the bit rate to 256000.

\