人工知性を作りたい

私が日々、挑戦したことや学んだことなどを紹介していく雑記ブログです。 (新しいAI技術HTM, 専門の音声信号処理, 趣味のアニメ等も書いてます。)

FlutterでAudio Recoder App(録音アプリ)を作成

 

f:id:hiro-htm877:20201230155747j:plain

本記事のテーマ

Flutter初心者向け

初めてFlutterを触った際に詰まったところを共有します。
※注:Androidでの動作確認しかしておりません

課題

詰まったところ
1.Exampleが動かない
https://pub.dev/packages/audio_recorder/example
2.マイク使用許可のpermissionsの使い方がわからない
3.AndroidXに関するERRORが発生
 ”The built failed likely due to AndroidX incompatibilities in a plugin.”

 

解決方法

1.Exampleが動かない
https://pub.dev/packages/audio_recorder/example

 

"audio_recorder 1.0.2"以外のpackageも必要!

 

使用したライブラリ
・audio_recorder 1.0.2
https://pub.dev/packages/audio_recorder/install
・path_provider 1.6.24
https://pub.dev/packages/path_provider/example
・simple_permissions 0.1.9
https://pub.dev/packages/simple_permissions/install

 

具体的にはpubspec.yamlのdependenciesに書きを追加して、インストールする。

dependencies:
flutter:
sdk: flutter


# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.0
audio_recorder: ^1.0.2
path_provider: ^1.6.24
simple_permissions: ^0.1.9


2.マイク使用許可のpermissionsの使い方がわからない

 ※2解決中に3(AndroidXに関するERRORが発生)が発生しました。

 

 exampleにはマイク許可の処理がなかった!

class AppBodyState extends State<AppBody> {

↑に下記の関数を追加し、initState()ないで呼び出す。

requestPermissions() async {
bool audioRes =
await SimplePermissions.requestPermission(Permission.RecordAudio) == PermissionStatus.authorized;
bool readRes = await SimplePermissions
.requestPermission(Permission.ReadExternalStorage) == PermissionStatus.authorized;
bool writeRes = await SimplePermissions
.requestPermission(Permission.WriteExternalStorage) == PermissionStatus.authorized;
return (audioRes && readRes && writeRes);
}

 

@override
void initState() {
super.initState();
requestPermissions();
}


3.AndroidXに関するERRORが発生
 ”The built failed likely due to AndroidX incompatibilities in a plugin.”

Permission packageを使用するにはひと手間いるみたいです!

下記記事の通り修正したら解決しました

flutter.dev

 

ソースコード

Githubにコードを載せております。

GitHub - hiro877/Fluter-Audio-Recoder-App