音楽の再生方法

Monaca で音楽を再生する方法について説明します。

HTMLのAudioオブジェクトを利用することで、音声ファイルを操作することができます。

下のプロジェクトではアプリ内(wwwディレクト配下)に保存した音声ファイルと外部サーバーに保存してある音声ファイルを再生しています。

画面の作成

音声ファイルを操作するためのページを作成します。

  • 音声ファイルの選択

  • 音声の再生・一時停止・停止ボタン

  • 音声の再生位置の表示

下記のプロジェクトでは、プロジェクトのwwwディレクト配下に保存したsong1.mp3 と 外部サイトにあるmp3ファイルをURLで指定しています。

<body style="text-align: center">
    <h1>Playing Sound</h1>
    <select id="songSelect">
        <option value="song1.mp3">Song 1</option>
        <option value="https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3">Song 2</option>
    </select>
    <button onclick="playSound()">Play</button>
    <button onclick="pauseSound()">Pause</button>
    <button onclick="stopSound()">Stop</button>
    <p id="audio_position"></p>
</body>

音声再生の準備

ページが読み込まれたとき(window.onload)に音声再生の準備をします。

まず、音声ファイルとタイマーを管理するための変数を宣言します。次に、音声ファイルを再生するためのAudioオブジェクトを作成し、audioElementに代入します。さらに、音声が再生されたとき、一時停止したとき、再生が終了したときに呼び出される関数を設定します。

音声の操作

次に3つの関数、音声の再生、一時停止、停止を作成します。

  • playSound関数では、選択された曲を再生します。

  • pauseSound関数では、音声の再生を一時停止します。

  • stopSound関数では、音声の再生を停止し、再生位置を初めに戻します。

音声の再生位置の表示

音声の再生位置を表示し、更新する処理を作成します。

  • setAudioPosition関数では、指定された位置を画面に表示します。

  • updateAudioPosition関数では、1秒ごとに音声の再生位置を更新します。

  • stopUpdatingAudioPosition関数では、音声の再生位置の更新を停止します。

コード全体

上記で説明したコードの全体は次のようになります。

最終更新

役に立ちましたか?