NNS_SndPlayerCreateHeap

構文

#include <nnsys/snd.h>
BOOL NNS_SndPlayerCreateHeap(
        int playerNo,
        NNSSndHeapHandle heap,
        u32 size );

引数

playerNo プレイヤー番号です。
heap プレイヤーヒープを確保するためのヒープです。
size プレイヤーヒープのサイズです。

返り値

プレイヤーヒープの作成に成功したかどうかを返します。

説明

プレイヤーヒープを作成します。

サウンドヒープheap上に、サイズsizeのプレイヤーヒープを作成します。 プレイヤーヒープの管理領域が必要なため、実際にはサイズsizeより多くのメモリを消費します。 元のサウンドヒープheapに十分な空き容量が無い場合、関数は失敗します。

作成されたサウンドヒープは、指定したプレイヤーplayerNoに接続されます。 NNS_SndArcPlayerStartSeq関数を使って、 指定プレイヤーplayerNoでシーケンスを再生しようとしたときに、 このプレイヤーヒープが使用されます。

この関数を繰り返し呼びだすと、指定したプレイヤーplayerNoに対し、 プレイヤーヒープが追加されていきます。通常、プレイヤー毎のシーケンス同時再生最大数と 同じだけのプレイヤーヒープを作成します。 (ただし、再生に必要なサウンドデータがサウンドヒープ上にある場合は、プレイヤーヒープを 作成する必要はありません。)

元のサウンドヒープheapのヒープ操作によって、 プレイヤーヒープを確保した領域が開放されたとき、自動的にプレイヤーからプレイヤーヒープが 切り離されます。

注意

この関数は、NNS_SndArcPlayerSetup関数内で、 呼びだされています。再度、この関数を呼びだすと、サウンドアーカイブでの設定に加える形で、プレイヤーヒープが追加されます。

プレイヤーヒープのサイズsizeは、各プレイヤー毎に同じ値を指定してください。 1つのプレイヤーに、異なるサイズのプレイヤーヒープが接続されていると、 データのロードに成功したり失敗したりといった不安定な動作をするようになります。

参照

NNS_SndArcPlayerStartSeq, NNS_SndArcPlayerSetup

履歴

2004/06/01 初版