【JavaScript】audioオブジェクトとは?用途・使用方法を解説!

皆さんは「audioオブジェクト」と聞くと何を思い浮かべますか?少し思い浮かべてみてください。

恐らく「audio(オーディオ)」という言葉から音楽や音声といったものを思い浮かべたかと思います。

その通り、audioオブジェクトとは音声を扱うオブジェクトです。

しかし、音声を扱うオブジェクトと聞いても

・どうやって使えばいいんだろう?

・具体的にはどういうことができるんだろう?

・audio要素との違いは…

といった疑問を持つ方もいるでしょう。

さて、今回はそんなaudioオブジェクトについて、用途や使用方法を詳しく紹介していきます!

audioオブジェクトとは

audioオブジェクトについて先程少しだけ説明いたしましたが、まだどういったものかは詳しくご理解いただけていないかと思います。

ここではaudioオブジェクトについて詳しく説明していきます。

audioオブジェクトは音声ファイルを扱うオブジェクト

先程、audioオブジェクトは音声を扱うオブジェクトと説明いたしました。

では具体的にどういったファイルを扱えるのでしょうか。

 

audioオブジェクトでは以下のファイルを扱うことができます。

・mp3ファイル(.mp3)

・mp4ファイル(.mp4)

・WAVEファイル(.wav)

・flacファイル(.flac)

・m4aファイル(.m4a)

 

このように多くのファイルを扱うことができますが、一部扱うことのできないファイルもありますので、もしそういったファイルがあった場合は上記のファイルに変換していただければ使うことができます。

audio要素との違いは?

ここではaudioオブジェクトとaudio要素の違いを説明していきます。

 

audioオブジェクトはJavaScriptで音声ファイルを扱う際に使用するオブジェクトです。

ではaudio要素とは何でしょうか。

 

audio要素とはHTML5で音声ファイルを扱う際に使用されるものです。

 

audioオブジェクトとは、HTML5で使われるaudio要素を扱うものですので、audio要素についても理解を深めていただけますと上手く使いこなすことができるかと思います。

audioオブジェクトのメソッド、プロパティの種類

audioオブジェクトにはメソッドプロパティというものがあり、audioオブジェクトとメソッド、プロパティはセットで使われることになります。

ここではそのメソッドとプロパティの種類について説明していきます。

 

audioオブジェクトのメソッドは下記の2種類、プロパティは下記の9種類があります。

〇メソッド

・playメソッド

・pauseメソッド

 

〇プロパティ

・srcプロパティ

・loopプロパティ

・autoplayプロパティ

・currentTimeプロパティ

・endedプロパティ

・mutedプロパティ

・volumeプロパティ

・defaultMutedプロパティ

・controlsプロパティ

 

以上がaudioオブジェクトにおけるメソッドとプロパティです。

メソッドとプロパティの詳しい使い方については次の項で説明していきます。

audioオブジェクトの基本的な使い方

前項ではaudioオブジェクトについてざっくりと説明してきました。

この項ではaudioオブジェクトの詳しい使い方について説明していきます。

audioオブジェクトの使い方

先程、audioオブジェクトはメソッドやプロパティとセットで使われると説明いたしました。

audioオブジェクトは主に下記の形で使われます。

この形は基本となりますので、ぜひ覚えておいてください。

playメソッド

playメソッドは

音声ファイルを再生する

メソッドです。

 

下記のように記述することで、指定した音声ファイルが再生されます。

pauseメソッド

pauseメソッドは

音声ファイルを一時停止する

メソッドです。

 

下記のように記述することで、指定した音声ファイルの再生を一時停止することができます。

srcプロパティ

srcプロパティは

使用する音声ファイルとその場所を指定する

プロパティです。

 

下記のように記述することで、使用したい音声ファイルの場所を指定することができます。

ここで注意していただきたいのが、ファイルの場所はダブルクォーテーションで囲むということです。

ダブルクォーテーションで囲むことを忘れてしまうとエラーとなっていしまいますのでご注意ください。

 

また、srcプロパティを使う以外にも音声ファイルの場所を指定する方法はありますので紹介いたします。

下記のように、変数を作る際に音声ファイルの場所を指定することもできますので覚えておくと良いでしょう。

変数を作る際に指定する場合でもダブルクォーテーションが必要になりますのでご注意ください。

loopプロパティ

loopプロパティは

音声ファイルを繰り返し再生する

プロパティです。

 

下記のように記述することで、繰り返し再生をするかどうかの値を格納することができます。

loopの値がtrueの場合は指定した音声ファイルが繰り返し再生されます。

loopの値がfalseの場合、繰り返し再生はされません。

 

また、loopプロパティは下記のように記述することで現在の値を取得し、指定した変数にloopの値を格納することもできます。

音声ファイルが繰り返し再生される設定だった場合はtrue、繰り返し再生されない場合はfalseが格納されます。

autoplayプロパティ

autoplayプロパティは

音声ファイルを自動再生する

プロパティです。

 

下記のように記述することで、自動再生するかどうかの値を格納することができます。

autoplayの値がtrueの場合、音声ファイルが自動再生されます。

autoplayの値がfalseの場合、自動再生はされません。

 

また、autoplayプロパティは下記のように記述することで現在の値を取得し、指定した変数にautoplayの値を格納することもできます。

音声ファイルが自動再生される設定だった場合はtrue、自動再生されない場合はfalseが格納されます。

currentTimeプロパティ

currentTimeプロパティは

音声ファイルの再生位置を設定する

プロパティです。

 

下記のように記述することで、再生位置の値を格納することができます。

再生位置は秒単位で指定することができます。

 

また、currentTimeプロパティは下記のように記述することで現在の値を取得し、指定した変数にcurrentTimeの値を格納することもできます。

endedプロパティ

endedプロパティは

音声ファイルの再生が終了したかどうかを取得する

プロパティです。

 

下記のように記述することで、音声ファイルの再生が終了したかどうかの値を取得し、指定した変数に格納することができます。

音声ファイルが再生終了している場合はtrue、再生前もしくは再生中の場合はfalseが格納されます。

mutedプロパティ

mutedプロパティは

音声ファイルをミュート(消音)するかどうかを指定する

プロパティです。

 

下記のように記述することで、音声ファイルをミュートするかどうかの値を格納することができます。

mutedの値がtrueの場合、音声がミュートになります。

mutedの値がfalseの場合、音声はミュートになりません。

 

また、mutedプロパティは下記のように記述することで現在の値を取得し、指定した変数にmutedの値を格納することもできます。

音声がミュートの場合はtrue、ミュートでない場合はfalseが格納されます。

volumeプロパティ

volumeプロパティは

音声ファイルの音量を設定する

プロパティです。

 

下記のように記述することで、音声ファイルの音量を設定することができます。

音量は0.0(最小)から1.0(最大)の間で指定します。

 

また、volumeプロパティは下記のように記述することで現在の値を取得し、指定した変数にvolumeの値を格納することもできます。

defaultMutedプロパティ

defaultMutedプロパティは

音声ファイルの初期設定の音量がミュートかどうかを取得する

プロパティです。

 

下記のように記述することで、指定した変数にdefaultMutedの値を格納することができます。

初期設定の音量がミュートだった場合はtrue、ミュートでない場合はfalseが格納されます。

controlsプロパティ

controlsプロパティは

ユーザーインターフェース(再生ボタン、音量調整バーなど)を表示するかどうかを指定する

プロパティです。

 

下記のように記述することで、ユーザーインターフェースの表示をするかどうかの値を格納することができます。

controlsの値がtrueの場合、ユーザーインターフェースが表示され、falseの場合、ユーザーインターフェースは表示されません。

 

また、controlsプロパティは下記のように記述することで現在の値を取得し、指定した変数にcontrolsの値を格納することもできます。

ユーザーインターフェースが表示される設定の場合はtrue、ユーザーインターフェースが表示されない設定の場合はfalseが格納されます。

サンプルコード

 サンプルコード1

音声ファイルの再生や停止、音量の設定を行うサンプルコードです。

このコードは音声ファイルの指定(./music.mp3)を変えればそのまま使用することができますので、ぜひ使用してみてください。

サンプルコード2

audio要素をJavaScript内で取得・操作するサンプルコードです。

 

audio要素をJavaScript内で扱うためにはaudio要素をJavaScriptにて取得する必要があります。

そのためのコードが下記の部分です。

 

また、audio要素でcontrols属性とmuted属性を付与しているため、初期状態ではユーザーインターフェースが表示され、音量がミュートされています。

ぜひ属性を追加したり削除したりして初期状態を確認してみてください。

まとめ

さて、今回はJavaScriptのaudioオブジェクトについて解説してきましたが、いかがでしたか?

これでJavaScriptでも音声ファイルを扱うことができます。

JavaScriptで音声ファイルを扱う機会があった際には、ぜひともこの記事を参考にしてくださいね。

 

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?