ミニゲーム: 音楽プレイヤー

「ミュージックプレイヤー」は、ローカルの音声ファイルを取り込み、プレイリスト管理・再生・視覚化・イコライザー調整を一体化したユーティリティです。 IndexedDB に音源データを保存し、UI の状態は localStorage に保持されるため、ブラウザを閉じてもライブラリと設定が維持されます。

前提条件と制限

画面構成

ヘッダー
現在の再生曲名と長さを表示します。曲が未選択の場合はアプリの説明に切り替わります。 右側には「音源を追加」ボタン(複数ファイル選択可)と設定メニュー (⚙) が並びます。
プレイリストパネル
曲数の統計、検索ボックス、曲一覧を備えています。各曲カードには再生・移動・削除ボタンと、長さとファイルサイズが表示されます。
再生コントロール
前 / 再生・一時停止 / 停止 / 次 のボタン、経過時間・残り時間付きのシークバー、音量 (0〜100%) と再生速度 (0.5〜2.0 倍) スライダーを備えています。
ビジュアライザー
オシロスコープ (波形) と周波数スペクトラム (ピーク表示付き) をリアルタイム描画します。
イコライザーパネル
6 バンド (60Hz, 170Hz, 350Hz, 1kHz, 3.5kHz, 10kHz) のゲイン調整とプリセット選択を行います。
ステータスバー
曲数・合計再生時間・セッション EXP を表示します。

音源の取り込み

  1. ヘッダーの「音源を追加」をクリックし、取り込みたいファイルを選択します。
  2. 選択したファイルのうち、音声形式かつサイズ制限と曲数上限を満たすものだけが登録されます。
  3. 登録後は自動的に IndexedDB (mini_music_player_db) に保存され、曲リストに追加されます。

新しく追加された曲は、メタデータが取得でき次第、長さ情報が自動で更新されます。

プレイリスト管理

再生操作

イコライザーとプリセット

ビジュアライザー

再生中のみ波形と周波数スペクトラムが更新されます。再生停止または AudioContext が停止すると描画も停止します。 スペクトラムには直近のピーク値がラインとして表示されます。

EXP 獲得ルール

アクション獲得量備考
アプリを開く+5初期化完了時に加算
初めて再生を開始+2セッション中 1 度のみ
音源を取り込む+3曲ごとに付与
曲を最後まで再生+10ループ再生にも適用
EQ プリセットを適用+130 秒クールダウンあり

獲得した EXP はセッションごとに集計され、画面下部の「Session EXP」に表示されます。

データ保存と同期

トラブルシューティング