NNS_SndArcInit*

構文

#include <nnsys/snd.h>
void NNS_SndArcInit(
        NNSSndArc* arc,
        const char* filePath,
        NNSSndHeapHandle heap,
        BOOL symbolLoadFlag );
BOOL NNS_SndArcInitWithResult( NNSSndArc* arc, const char* filePath, NNSSndHeapHandle heap, BOOL symbolLoadFlag );

引数

arc サウンドアーカイブを管理する NNSSndArc構造体のポインタです。
filePath サウンドアーカイブデータファイルのROMファイルシステム上のパスです。
heap サウンドヒープハンドルです。
symbolLoadFlag シンボルデータをロードするかどうかのフラグです。

返り値

NNS_SndArcInit関数は、返り値はありません。

NNS_SndArcInitWithResult関数は、初期化に成功したかどうかを返します。

説明

サウンドアーカイブ構造体を初期化します。 サウンドアーカイブ構造体は静的に確保することを推奨します。 動的に確保する場合は、後述の注意点に気をつけてください。

ROMファイルシステム上の、サウンドアーカイブデータファイルfilePathを使って、 サウンドアーカイブ構造体を初期化します。 あらかじめ、ファイルシステムが有効になっていなければなりません。

サウンドヒープheap上に、サウンドアーカイブ管理に必要なデータがロードされます。 この領域を開放すると、サウンドアーカイブが使えなくなります。 再度使用できるようにするためには、 NNS_SndArcSetup関数を呼びだします。

シンボルデータをロードするかどうかのフラグsymbolLoadFlagにTRUEを入れると、 NNS_SndArcGet*Symbol関数を使って、 シンボル名を取得できるようになりますが、より多く、サウンドヒープheapを消費します。

初期化したサウンドアーカイブは、自動的にカレントサウンドアーカイブに設定されます。 カレントサウンドアーカイブを変更するには、 NNS_SndArcSetCurrent関数を使います。

NNS_SndArcInit関数は、初期化に失敗するとアサーションにひっかかりますが、 NNS_SndArcInitWithResult関数は、初期化に成功したかどうかを返り値で返します。

ファイルシステムを使わない場合や、全てのサウンドアーカイブデータをメモリ上に置く場合には、 これらの関数の代わりに、 NNS_SndArcInitOnMemory関数を使います。

注意

サウンドアーカイブ構造体は、全てのサウンドヒープを解放した後で破棄することができます。 1つでもヒープ領域が残っていると、メモリ破壊を引き起こす可能性があります。 また、破棄するサウンドアーカイブ構造体のポインタが、 カレントサウンドアーカイブとして、セットされている可能性についても留意してください。

初期化に失敗する主な原因は、サウンドアーカイブデータファイルの読み込み失敗です。 ファイル読み込みに失敗する可能性がある状況では、NNS_SndArcInitWithResult関数を使って 返り値をチェックしてください。

参照

NNS_SndArcSetup, NNS_SndArcGet*Symbol, NNS_SndArcSetCurrent, NNS_SndArcInitOnMemory

履歴

2005/08/18 NNS_SndArcInitWithResult関数の説明追加
2004/09/06 NNS_SndArc構造体の動的確保に関する注意書き追加
2004/09/02 NNS_SndArcSetup関数に関する説明追加
2004/06/01 初版