# NNS_SndArcReadFile

## 構文

      #include <nnsys/snd.h>

      s32 NNS_SndArcReadFile(
              u32 fileId,
              void* buffer,
              s32 size,
              s32 offset );

## 引数

`fileId` | ファイルIDです。
`buffer` | 格納先バッファのアドレスです。
`size` | 読み出すデータのバイト長です。
`offset` | 読み込み始めるファイル先頭からの位置です。

## 返り値

読み込んだデータサイズを返します。読み込みに失敗したときは、-1を返します。

## 説明

サウンドアーカイブ中のファイルをメモリ上へ読み出します。

読み込むデータサイズ`size`分のメモリをあらかじめ確保しておく必要があります。 ファイルサイズを取得するには、 `NNS_SndArcGetFileSize`関数を使います。

ファイルID`fileId`は、 `NNS_SndArcGetSeqInfo`関数などで 得たサウンドデータの情報構造体から取得することができます。

一度に行う読み込みサイズを制限したい場合は、 `NNS_SndArcSetLoadBlockSize`関数で、 ロードブロックサイズを設定してください。

この関数は、 `NNS_SndArcLoadSeq`関数や、 `NNS_SndArcLoadSeqArc`関数などから 呼びだされています。

### 注意

この関数は、 `NNS_SndArcInit`関数で初期化されたサウンドアーカイブに対して使います。 `NNS_SndArcInitOnMemory`関数で 初期化されたサウンドアーカイブに対しては使えません。

## 参照

NNS_SndArcGetFileSize, NNS_SndArcGetSeqInfo, NNS_SndArcSetLoadBlockSize, NNS_SndArcLoadSeq, NNS_SndArcLoadSeqArc, NNS_SndArcInit, NNS_SndArcInitOnMemory

## 履歴

2007/10/17 NNS_SndArcSetLoadBlockSize関数に関する説明追加
2004/06/01 初版