| The Game Kit Table of Contents | The Game Kit Index |
継承元: BGameSound
宣言箇所: be/game/SimpleGameSound.h
ライブラリ: libgame.so
アロケーション: コンストラクタのみ
BSimpleGameSoundクラスはメモリに残って変化することのないような、単純なサウンドエフェクトを代表する。
BSimpleGameSoundを使うのは単純だ:
BSimpleGameSound *mysound = new BSimpleGameSound("soundfile.wav");
...
mysound.StartPlaying();
(訳注:上のコードは動きません。get_ref_for_path()関数を利用して、entry_ref構造体を渡しましょう)
このコードの断片は、"soundfile.wav"というファイルにあるサウンドを再生するオブジェクトを作っている。サウンドを再生するのは非常に単純でStartPlaying()を呼び出せばよい。
![]() |
現在のBeOSのバージョンでは、BSimpleGameSoundの複製を作ると、サウンドデータのバッファも複製される。したがって、メモリにサウンドエフェクトの複数のコピーを持つことになる。コードを書くときに、多くのメモリをすばやく消費してしまう可能性のあることに注意してください。
|
|
指定されたのサウンドを再生するオブジェクトを準備する。コンストラクタの最初の書式は inFileによって指定されたサウンドをメモリにあらかじめすべて読み込む。。
コンストラクタの2つ目の書式は、inDataにあらかじめメモリに読み込まれたサウンドデータのポインタを受け入れる。 inFrameCountはバッファに入っているオーディオのフレーム数を指定する。そして、formatはオーディオデータのフォーマットを指定する。
どちらの場合も deviceはサウンドを再生するのに使用されるべきサウンドデバイスを指定する。NULLはデフォルトのサウンドプレイヤーを使用する。
![]() |
現在ではdeviceは常にNULLでなくてはいけません。
|
コンストラクタの最後の書式は、別のBSimpleGameSoundオブジェクトを複製する。
BSimpleGameSoundのインスタンスを作成したあとはサウンドがきちんと作成されたかどうかInitCheck()を使用して、調べる必要がある。
|
典型的なデストラクタです。
|
オブジェクトのインスタンスがきちんと作成できたかどうかを示すstatus_t型の変数を返す。
返値
B_OK. サウンドはきちんと初期化された。
B_ERROR. サウンドプレイヤーを作成できなかった。
B_NO_MEMORY. サウンドを予め読み込むだけのメモリがなかった。
BSoundFileエラー。サウンドファイルは無効か、合わない
他のエラー。サウンドプレイヤーが返したエラーかもしれない。
|
SetIsLooping()はloopingがtruetrueの時サウンドのループをオンにし、loopingがfalseのときオフにする。
IsLooping()は現在ループが有効になっているかどうかを示すフラグを返す。
返値
B_OK. エラーなしに、ループはオンまたはオフにされた。
B_ERROR. プレイヤーは適切に初期化されなかった。
| The Game Kit Table of Contents | The Game Kit Index |
訳者 big56
|
|||
|
|