マルチメディア・カメラ

【Androidアプリ開発】MediaRecorderによる録音機能の実装

salmoncode
記事内に商品プロモーションを含む場合があります。

Androidアプリでマイクから音声を録音したい場合、標準APIの MediaRecorder を使うのが最もシンプルです。
この記事では、権限設定 → 録音開始 → ファイル保存 → 停止処理 までを一通り解説します。

スポンサーリンク

🧩 この記事でできること

  • MediaRecorderを使ってマイク音声を録音できる
  • 音声ファイル(.m4a.3gp)として保存できる
  • 録音の開始・停止ボタンを実装できる

🛠️ 開発環境

  • Android Studio 2024.1(Jellyfish)
  • Kotlin 1.9
  • テスト端末:Pixel 7(Android 14)

1. 権限の設定

録音機能を使うには、マイクアクセス権限が必要です。
AndroidManifest.xml に以下を追加します。

さらに、Android 6.0以降では実行時パーミッションのリクエストが必要です。

2. MediaRecorderの初期化

MediaRecorder インスタンスを生成し、音声ソースや出力形式を設定します。

📌 ポイント

  • externalCacheDir を使うと、一時保存しやすくファイルアクセスも簡単。
  • 拡張子は .m4a(AAC)推奨。

3. 録音の開始と停止

ボタンで制御できるようにしておくと便利です。

4. 録音ファイルの再生確認

録音後、MediaPlayerを使って確認することもできます。

5. よくあるエラーと対策

症状原因対処法
start()でクラッシュ権限未許可実行時パーミッション確認
音が録音されないAudioSource不正 or 実機問題MIC に変更・実機確認
stop()で例外録音前にstop呼び出しフラグ管理(isRecording)を導入

6. 保存場所を変更したい場合

setOutputFile() のパスを変更することで、好きな場所に保存可能です。

まとめ

  • MediaRecorder で簡単に録音アプリを作れる
  • 権限チェックは必須(実行時リクエスト)
  • 録音・停止・再生までを一通りコードで制御可能

🔗 関連記事

この記事で使用した開発環境

  • Android Studio 2024.1
  • Pixel 8a(Android 14)
録画テストにおすすめ
  • Pixel8a: リファレンス端末

さらに学びたい方へ

スポンサーリンク
書いた人
サーモン
サーモン
著者(ソフトウェアエンジニア)
こんにちは、ソフトウェアエンジニアのサーモンです。 情報系大学院を卒業後、都内IT企業に従事しています。プログラミング歴は10年以上になります。
記事URLをコピーしました