MENU

【完全初心者向け】Flutterアプリの中で「音声ファイルを再生する機能を追加する」方法

前提の話ですが、あらかじめテトリスゲームを作成した後の作業になりますのでご了承をお願いしますね(^^)

自分が作成したこのテトリスゲームに音を入れるのが目的です。

めいぶ

今回は自分が作成したテトリスゲームに音を入れるのが目的です。

結論から言います。

Flutterに音を入れるには、次の5ステップだけです。

  1. 効果音をダウンロード
  2. assetsフォルダに入れる
  3. pubspec.yamlに登録
  4. audioplayersを追加
  5. ライン消去時に音を鳴らすコードを書く

でも――

実際はここで必ずエラーが出ます。

この記事では
実際につまずいたポイントも含めて全部解説します。


なぜ音追加は初心者がつまずくのか?

理由は3つあります。

  • フォルダ構造がわからない
  • pubspec.yamlのスペース地獄
  • カッコ(Wrap)の閉じ忘れ

実はコードよりも
設定ミスで止まることのほうが多いです。


目次

STEP1:効果音を入手する

おすすめ無料サイト

効果音ラボ

👉 https://soundeffect-lab.info/

特徴:

  • 登録不要
  • すぐダウンロード可能
  • ゲーム向け効果音が豊富
  • 初心者に最もおすすめ

🎵 OtoLogic(少し本格派)

👉 https://otologic.jp/

特徴:

  • きれいな高品質サウンド
  • 商用利用OK(条件あり)
  • 8ビット風などもある

🎵 魔王魂(迫力系が豊富)

👉 https://maou.audio/

特徴:

  • 爆発・RPG系が強い
  • BGMも充実
  • 利用規約の確認は必須

ダウンロードしたら名前を

line.mp3

に変更。


STEP2:assetsフォルダに入れる

正しい場所

pomodorotimer
└ assets
└ audio
└ line.mp3

よくあるミス

❌ ダウンロードフォルダのまま
❌ line.mp3.mp3 になっている


STEP3:pubspec.yamlに登録

ここが最初の壁。

正しくはこう。

flutter:
uses-material-design: true assets:
- assets/audio/line.mp3

超重要

  • assetsの前はスペース2つ
    • の前はスペース4つ
  • タブ禁止

ここでインデントを間違えると即エラー。


STEP4:audioplayersを追加

dependenciesに追加。

dependencies:
flutter:
sdk: flutter
audioplayers: ^5.2.1

そしてターミナルで

flutter pub get

Windowsユーザーの最大の罠

こんなエラーが出ることがあります。

Building with plugins requires symlink support.
Please enable Developer Mode

解決方法

Windowsの「開発者モード」をONにする。

これを知らないと永遠に止まります。


STEP5:音を鳴らすコードを書く

import追加

import 'package:audioplayers/audioplayers.dart';

State内に追加

late AudioPlayer player;

initStateで初期化

player = AudioPlayer();

まずは音テストボタンを作る

いきなりライン消去に入れると混乱します。

まずはボタンで確認。

ElevatedButton(
onPressed: () {
player.play(AssetSource('audio/line.mp3'));
},
child: const Text('音テスト'),
),

Wrapエラー地獄の正体

初心者が一番ハマるのがこれ。

],
),
),

カッコの数がズレる問題。

Flutterは

  • 開いたら必ず閉じる
  • children: [ のあとは ],
  • Wrap( のあとは ),

というルール。

1個でも多いと真っ赤になります。


ライン消去時に音を鳴らす

if (cleared > 0) {
_playLineSound();
lines += cleared;
}

これで完成。


まとめ

Flutterで音を入れる作業は

  • 設定7割
  • コード3割

です。

でも一度越えると

「自分は演出を入れられる人」

になります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

meibuのアバター meibu 中年ブロガー

【このブログを書いている人】
こんにちは、meibuです!
読者の「ちょっと気になる」「でも難しそう…」をやさしく解決したくてこのブログを始めました。

🔹プロフィールまとめ
◎ 本業は運送業の管理職
 → 現場からマネジメントまで幅広く経験

● 趣味はパソコン・ランニング・情報収集

●興味のあるテーマ:
 副業 / ChatGPT

● 発信スタイルは…
 → 「初心者にもわかりやすく」+「図解・たとえ話も使って解説」

● ブログの目的:
 日常に“ちょっと得する”選択肢を増やすこと
管理職の悩みを最近少し書いています

🔸こんな人に読んでほしい!
ChatGPTってなに?使い方がわからない方
管理職の職位に悩んでいる人
忙しいけど、自分の未来のために動きたい方

● 「読んでよかった!」と思える情報を、これからもコツコツ更新していきます!
当ブログはアフェリエイト広告を利用しています。

コメント

コメントする

目次