本記事のテーマ
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を使用するにはひと手間いるみたいです!
下記記事の通り修正したら解決しました
ソースコード
Githubにコードを載せております。
GitHub - hiro877/Fluter-Audio-Recoder-App