# NNS_SndArcStrmMoveVolume

## 構文

      #include <nnsys/snd.h>

      void NNS_SndArcStrmMoveVolume(
              NNSSndStrmHandle* handle,
              int volume,
              int frames );

## 引数

`handle` | ストリームハンドルのポインタです。
`volume` | ボリュームの値です。値の範囲は、0〜127です。
`frames` | 変化するフレーム数です。

## 返り値

なし。

## 説明

ストリームハンドル`handle`に結びつけられたストリームのボリュームを変更します。 ストリームハンドルが無効の場合は、何もしません。

`frames`で指定したフレーム数で、徐々に現在のボリューム値から、 `volume`で指定したボリューム値へ変化します。

`frames`が0の時、即座に現在のボリューム値が更新されます。 たとえば、現在のボリューム値とは無関係に、ボリュームをある値から、別の値に時間変化させたい場合は、 まず、`frames`を0としてこの関数を呼びだして、現在のボリューム値を更新した後、 再び同じ関数で、目標とするボリューム値を指定します。

ストリームスタート直後のボリューム値は0で、次の `NNS_SndMain`関数で、127 に変化します。 このため、ストリームスタート直後にこの関数を呼びだすと、 ボリューム0から徐々に指定のボリュームへ変化するような、フェードイン効果が得られます。

このボリューム値は、 `NNS_SndArcStrmSetVolume`関数の値とは、 独立して効果を発揮し、互いに重ね合わされます。 ただし、フェードアウト中は、ここで設定した値は無視されます。

## 参照

NNS_SndMain, NNS_SndArcStrmSetVolume

## 履歴

2006/08/18 NNS_SndArcStrmSetVolume関数への参照追加
2004/08/10 初版