Methods
# load(name, url) → {Promise.<HTMLAudioElement>}
音声をHTMLAudioElementとして読み込み, それを指定した名前で登録する. ただし, JavaScriptでは音声オブジェクトを作っても即座にロードが 完了するのではなく, バックグラウンドで読み込み処理を行う. そのため, 返却値は音声のロード待ちを行なっているPromiseオブジェクトである.
例)
const pool = new stdgam.SoundPool();
const promise = pool.load("BGM_01", "./my_bgm.wav");
promise.then((v) => {
pool.play("BGM_01");
});
普通はこのPromiseオブジェクトを直接使うのではなく, readyメソッドを利用する (readyメソッドの例を参照のこと).
また, GameEngineオブジェクトがデフォルトで所持するSoundPoolに関しては, GameEngineのreadyメソッドによりロード待ちを行うほうが好ましい.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string
|
ロードした音声に付ける登録名 |
url |
string
|
読み込む音声のURL |
音声のロード待ちを行うPromiseオブジェクト
Promise.<HTMLAudioElement>
# play(name, loopopt)
指定した名前で登録されている音声を再生する (存在しなければ何もしない). 既に再生中の場合, 最初に巻き戻して再生し直す.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
name |
string
|
再生する音声の登録名 |
||
loop |
boolean
|
<optional> |
false | ループ再生をするか |
# ready() → {Promise.<Array.<HTMLAudioElement>>}
全ての音声のロードが完了するまで待機するためのPromiseを返す. 通常は次のようなコードを書く.
例)
const pool = new stdgam.SoundPool();
pool.load("BGM_01", "./bgm_01.wav");
pool.load("BGM_02", "./bgm_02.wav");
pool.ready().then((v) => {
my_operation_with_sounds(pool);
});
ただし, GameEngineオブジェクトがデフォルトで所持するSoundPoolに関しては, GameEngineのreadyメソッドによりロード待ちを行うほうが好ましい.
全部の音声のロード待ちを行うPromiseオブジェクト
Promise.<Array.<HTMLAudioElement>>
# stop(name)
指定した名前で登録されている音声が再生中なら, 再生を停止する. 該当する音声がなかったり再生中でなければ何もしない.
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string
|
停止するする音声の登録名 |