このツールの機能
メディアプレイヤーは、デバイスからオーディオとビデオファイルを再生します。ファイルピッカーまたはドラッグ&ドロップでプレイリストを構築し、クリックでトラックにジャンプ、再生/一時停止、シーク、音量、リピート(なし、全部、1曲)を制御。シャッフルモードで再生順をランダム化。すべての再生はブラウザで—アップロードなし、サーバーなし。blob URLでメモリからファイルを読み込みます。
使い方
- ファイルを追加 — オーディオ/ビデオファイル(MP3、MP4など)をクリックで選択またはドラッグ&ドロップ。
- プレイリストを構築 — ファイルがプレイリストに表示。トラックをクリックして再生。
- 制御 — 再生、一時停止、シーク、音量。リピートでなし、全部、現在のトラックをループ。
- シャッフル — シャッフルを有効にしてランダム順序(Fisher-Yates)。
- 削除 — プレイリストからトラックを削除。メモリ解放のためblob URLをrevoke。
- フルスクリーン — ビデオのフルスクリーンを利用可能なとき使用。
動作の仕組み
各ファイルはMediaItem(File参照、表示名、タイプ、blob URL)としてラップ。URL.createObjectURL(file) でHTML5動画要素が使用する一時blob URLを作成。メディアコンテンツはサーバーに送信されません。プレイリスト項目が削除されたりコンポーネントがアンマウントされると、メモリリーク防止のため URL.revokeObjectURL() が呼ばれます。シャッフルはFisher-Yatesで一様ランダム順序。リピートモード:なし(最後で停止)、全部(最初に戻る)、1曲(現在をループ)。
すべての計算はブラウザ内で実行されます。データはサーバーに送信されません。
使用例とサンプル
- ローカル音楽 — デバイスからMP3を再生。
- ビデオプレビュー — ローカルビデオファイルをクイック表示。
- ポッドキャスト — エピソードをキューに入れて再生。
- プレゼンテーション — バックグラウンド音声やビデオクリップを再生。
- テスト — メディアファイルが正しく再生するか検証。
例
- song1.mp3、song2.mp3 を追加 → 2曲のプレイリスト。
- シャッフルオン → 再生順序がランダム化。
- リピート:1曲 → 変更するまで現在のトラックがループ。
制限と既知の制約
- 形式サポート — ブラウザとOSに依存(例:MP4、WebM、MP3)。
- blob URL — 削除/アンマウント時にrevokeしてリーク回避が必要。
- ストリーミングなし — ファイルはメモリに読み込み;非常に大きなファイルは遅い場合あり。
- 同一オリジン — blob URLは同一オリジン;クロスオリジンメディアなし。