# NNS_SndArcPlayerStartSeqArc*

## C Specification

      #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 );

## Arguments

`handle` | The sound handle pointer.
`seqArcNo` | Sequence archive number.
`index` | The index number of the sequence archive.
`playerNo` | The Player number.
`bankNo` | Bank number.
`playerPrio` | This is the player priority. The values is in the range of 0-127; a greater value indicates higher priority.

## Return Values

If playback succeeds TRUE. If it fails FALSE.

## Description

This function plays back a sequence archive.

The player number and other parameters are configured based on the sound data. With `NNS_SndArcPlayerStartSeqArcEx` the program can specify the player number, bank number and player priority.If any of these parameters are set to `-1`, it will be configured based on the sound data. If any of these parameters (`playerNo`, `bankNo`, and `playerPrio`) are set to `-1`, it will be configured based on the sound data.

The sound archive must first be initialized with `NNS_SndArcInit` or `NNS_SndArcInitOnMemory`.

The sound handle (handle) must be initialized once with `NNS_SndHandleInit`. When this function is called, the sequence already bound to the sound handle will be unbound (but not stopped). If playback is successful, the sequence will be bound to the sound handle.

This function calls `NNS_SndArcGetFileAddress` to determine if the required sound data is loaded into memory. If the required data is not there, the function will fail.

The function internally calls the `NNS_SndPlayerSetSeqArcNo` function so that you can later use the `NNS_SndPlayerStopSeqBySeqArcNo` function to stop playback by sequence archive number.

If you want to reset the channel priority and volume settings specified by the sound data, you can call `NNS_SndPlayerSetChannelPriority` or `NNS_SndPlayerSetInitialVolume` immediately after starting the sequence.

Playback failure may be the result of the following factors:

- Sequence archive number is invalid
- Index number is invalid
- Priority is lower than the sequence already playing
- Data is not in memory or cannot be loaded

## See Also

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

## Revision History

11/30/2004 Corrected erroneous return value type.

06/01/2004 Expanded `NNS_SndArcPlayerStartSeqArcWithPlayerNo` and `NNS_SndArcPlayerStartSeqArcEx` was modified.

04/19/2004 Manuals for `NNS_SndArcPlayerStartSeqArc` and `NNS_SndArcPlayerStartSeqArcWithPlayerNo` were combined. 04/01/2004 Initial version.