androidでFlutterで録音するには?
Flutterの開発環境が整っていることです。
詳細を知りたい方は別途ご連絡ください。
https://pub.dev/packages/record
permissionの設定
プロジェクト作成した後に、下記のファイルを探して、
/android/app/src/main/AndroidManifest.xml
に下記を1行追加。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 録音許可を追加 -->
パッケージ追加
プロジェクト作成した後に、下記のファイルを探して、
/pubspec.yaml
flutter:の行を追加
dependencies:
flutter:
sdk: flutter
record: ^5.0.1
ターミナルで下記のコマンド実行
flutter pub get
プログラム
パッケージ設定
import 'package:record/record.dart';
// AudioRecorderのインスタンスを作成
final record = AudioRecorder();
// 録音のための許可をチェックし、必要に応じてリクエスト
if (await record.hasPermission()) {
// ファイルへの録音を開始 ここのパスを間違えると録音ができないです。ログ等を細かく確認してください。
await record.start(const RecordConfig(), path: 'aFullPath/sample.m4a');
// ... またはストリームへの録音を開始
final stream = await record.startStream(const RecordConfig(AudioEncoder.pcm16bits));
}
// 録音を停止し、ファイルパスを取得
final path = await record.stop();
// ... または録音をキャンセル(これによりファイル/ブロブが暗黙的に削除される)
await record.cancel();
// リソースを解放
record.dispose(); // これを忘れないでください。