# NNS_SndArcPlayerStartSeqArc*

## 構文

      #include <nnsys/snd.h>

      BOOL NNS_SndArcPlayerStartSeqArc(
              NNSSndHandle* handle,
              int seqArcNo,
              int index );
      BOOL NNS_SndArcPlayerStartSeqArcEx(
              NNSSndHandle* handle,
              int playerNo,
              int bankNo,
              int playerPrio,
              int seqArcNo,
              int index );

## 引数

`handle` | サウンドハンドルのポインタです。
`seqArcNo` | シーケンスアーカイブ番号です。
`index` | シーケンスアーカイブのインデックス番号です。
`playerNo` | プレイヤー番号です。
`bankNo` | バンク番号です。
`playerPrio` | プレイヤープライオリティです。値の範囲は0〜127で、大きいほど優先度が高くなります。

## 返り値

再生に成功した場合は、TRUEを返します。失敗すると、FALSEが返ります。

## 説明

シーケンスアーカイブを再生します。

`NNS_SndArcPlayerStartSeqArc`関数では、プレイヤー番号などのパラメータは、サウンドデータでの指定に基づいて設定されます。 `NNS_SndArcPlayerStartSeqArcEx`関数を使うと、プレイヤー番号やバンク番号、プレイヤープライオリティをプログラム側で指定できます。ただし、 `playerNo`、`bankNo`、`playerPrio`の引数のうち、-1を指定したものは、サウンドデータで設定したパラメータが使用されます。

あらかじめ、 `NNS_SndArcInit`関数または、 `NNS_SndArcInitOnMemory`関数で サウンドアーカイブが初期化されている必要があります。

サウンドハンドル`handle`は、あらかじめ、`NNS_SndHandleInit`関数で、１度だけ初期化しておかなければなりません。 この関数を呼びだすと、サウンドハンドルに既に結びつけられていたシーケンスは切り離されます（停止するわけではありません）。 再生に成功すると、サウンドハンドルにシーケンスが結びつけられます。

関数内では、必要なサウンドデータがメモリ上にあるかどうかを確認するために、 `NNS_SndArcGetFileAddress`関数を呼びだします。 必要なデータがメモリ上にない場合、関数は失敗します。

後で`NNS_SndPlayerStopSeqBySeqArcNo`関数を使って、 シーケンスアーカイブ番号を指定してシーケンスを停止できるように、 関数内で`NNS_SndPlayerSetSeqArcNo`関数を呼びだしています。

サウンドデータで設定されている、発音プライオリティや音量の値を再設定したい場合は、シーケンス開始直後に、 `NNS_SndPlayerSetChannelPriority`関数や、 `NNS_SndPlayerSetInitialVolume`関数を呼びだします。

再生の失敗には、以下の原因が考えられます。

- シーケンスアーカイブ番号が無効
- インデックス番号が無効
- 既に再生中のシーケンスよりも優先度が低い
- データがメモリ上に無い

## 参照

NNS_SndArcInit, NNS_SndArcInitOnMemory, NNS_SndHandleInit, NNS_SndArcGetFileAddress, NNS_SndPlayerStopSeqBySeqArcNo, NNS_SndPlayerSetSeqArcNo, NNS_SndPlayerSetChannelPriority, NNS_SndPlayerSetInitialVolume

## 履歴

2004/11/30 返り値の型が間違っていたのを修正
2004/06/01 NNS_SndArcPlayerStartSeqArcWithPlayerNoを拡張して、 NNS_SndArcPlayerStartSeqArcExに変更。
2004/04/19 NNS_SndArcPlayerStartSeqArc, NNS_SndArcPlayerStartSeqArcWithPlayerNoのマニュアルを統合
2004/04/01 初版