目次 - SDL_mixer - API(機能別) - サンプリング音声 - Mix_LoadWAV

Mix_LoadWAV

音声ファイルをチャンクに読み込む

構文

Mix_Chunk *Mix_LoadWAV(const char *file)

引数

file読み込む音声ファイルのパス

戻り値

新しいチャンクを戻す. エラーのときNULLを戻す.

詳細

SDL_mixerには2つのオーディオデータ構造がある. 1つは「チャンク」で, これは事前にファイルを完全にメモリにデコードする. もう1つは「音楽」で, ファイルを必要に応じてデコードする. 当初はWAVの様な無圧縮の単純な形式をチャンク, MP3等を音楽として, 1つの音楽をBGMとしてストリーム再生し, チャンクを効果音として繰り返し再生することを意図していた.

現在では形式による違いはなく, ほぼ相互に交換可能で, 事前にデコードした方がアプリケーションにとってよいかの問題となっている. チャンクはより多くのメモリを使用するが, 一度読み込めば再度デコードすることはない. 一方, 音楽は再生のたびに常にデコードする必要がある. さらに決定的なのは, アプリケーションには多くのチャンクのチャネルを確保できるが, 「音楽」チャネルは1つしか提供されていない.

抽象化されたSDL_RWopsインターフェースを使ってファイルシステム以外から音声を読み込みたい場合は, 代わりにMix_LoadWAV_RW()を使うこと.

チャンクを使用し終えたならば, アプリケーションはMix_FreeChunk()を呼んで解放する必要がある.

SDL_mixer 2.6.0以前は, この関数はMix_LoadWAV_RW()関数をRWops生成しfreesrcに1をして呼び出すマクロだった. このマクロは正式なAPI関数となった. 古いバイナリに新しいSDL_mixerをリンクするとマクロであるためMix_LoadWAV_RW()が呼ばれるが, 今まで通り正常に動作する.

バージョン

SDL_mixer 2.6.0以降 (マクロ版は2.0.0以降)

関連項目(関数)

Mix_LoadWAV_RW
Mix_FreeChunk

SDL Wikiへのリンク

SDL2_mixer/Mix_LoadWAV