LoadSoundMem

音ファイルをメモリに読みこむ

val = LoadSoundMem(FileName)

FileName : メモリに読みこむ音ファイルのファイル名
文字列のポインタ

(プラグイン / モジュール : DxLibW)

解説

音を再生する際PlaySound関数を使用すると同時に1つの音しか鳴らすことが出来ません。
それにPlaySoundFile関数は再生の際にそのつどディスク等からファイルを読みこむのでゲームなどの高速な連続再生などには向いていません。

ので何度も再生するような音はディスクから読みこんで取っておきいつでもすぐに再生できる状態にして置く必要があります。
そのための関数が LoadSoundMem関数 です。
この関数で戻り値として返ってくるサウンドハンドルとは読みこんだ音の識別番号です(int型の値です)。

音を再生する際にこの関数で得た識別番号を指定してやることで読みこんだ音を再生することが出来ます。

(メモリに読みこんだ音の再生には『PlaySoundMem』を使います)

例  test.wavをメモリに読みこんでサウンドハンドルを int型変数

SHandleに保存します

int SHandle ;

SHandle = LoadSoundMem( "test.wav" ) ;



ループ再生範囲を指定するテキストファイルの自動読み込みについて

DXライブラリでは LoadSoundMem で読み込みを指定されたサウンドファイル名の末端が『_loop.txt』となっているテキストファイルがあった場合、
そのテキストファイルの中の『LOOPSTART=ループ開始位置(サンプル単位)』と『LOOPLENGTH=ループ範囲の長さ(サンプル単位)』の二つのパラメータをサウンドファイルのループ再生の範囲として読み込みます。

この機能を使用すると前奏として一度だけ再生される部分と、ループして何度も再生される部分が一緒になっているBGM用のサウンドファイルのループ範囲を指定することができます。

例

bgm.wav と、ループ範囲情報の bgm_loop.txt を用意してループ範囲指定付きで

サウンドファイルを読み込みます

bgm_loop.txt の中身( 441000サンプル( 44.1KHzのPCMサウンドでは10秒 )から

1764000サンプル( 44.1KHzのPCMサウンドでは40秒 )分の間をループ再生する )

( ※注意※ 内容は全て半角文字で入力されている必要があります )

LOOPSTART=441000
LOOPLENGTH=1764000

プログラムでは普通に bgm.wav を読み込むだけで、bgm_loop.txt が自動的に読み込まれます。

int SoundHandle ;
SoundHandle = LoadSoundMem( "bgm.wav" ) ;

OGGファイルの LOOPSTART と LOOPLENGTH コメントについて

DXライブラリは某有名RPG製作ツールと同じく OGGファイルのコメントに LOOPSTART と LOOPLENGTH
という名前のサウンドのループ範囲情報が含まれていた場合は自動的にその情報を読み取り、

PlaySoundMem で再生した際は指定の範囲がループ再生されます。

なので OGGファイルを使用する場合は前述の _loop.txt を使ったループ範囲指定の他に、
OGGファイル自体にループ範囲の情報を埋め込むという選択肢があります。( OGGファイルのコメントの編集はサウンド編集ソフトを使用します )
※ DxLib のハンドル値は 32bit/64bit 共に int 型です。

戻り値:
  -1:エラー

サンプル

se = LoadSoundMem("sound.wav")
PlaySoundMem se, DX_PLAYTYPE_BACK

関連項目

PlaySoundMemメモリに読みこんだ音データを再生する(DxLibW)
StopSoundMemメモリに読み込んだ音データの再生を止める(DxLibW)
DeleteSoundMemメモリに読みこんだ音データを削除する(DxLibW)
CheckSoundMemメモリに読みこんだ音データが再生中か調べる(DxLibW)
SetVolumeSoundMemサウンドハンドルのボリュームを設定する( 100分の1デシベル単位 0 ~ 10000 )(DxLibW)
InitSoundMemメモリに読みこんだ音データをすべて消去する(DxLibW)

情報

プラグイン / モジュールDxLibW
バージョン3.24f
作成日2026/04/12
著作者DxLib: Takumi Yamada / HSP binding: IronHSP Project
URLhttps://dxlib.xsrv.jp/
備考hspdxlib.as をインクルードして使用
タイプDxLib ゲームライブラリ
グループDxLib サウンド
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdxlib.hs