# NNS_SndPlayerSetTrackMute*

## 構文

      #include <nnsys/snd.h>

      void NNS_SndPlayerSetTrackMute(
              NNSSndHandle* handle,
              u16 trackBitMask,
              BOOL flag );
      void NNS_SndPlayerSetTrackMuteEx(
              NNSSndHandle* handle,
              u16 trackBitMask,
              NNSSndSeqMute mute );

## 引数

`handle` | サウンドハンドルのポインタです。
`trackBitMask` | トラックビットマスクです。
`flag` | ミュートするかやめるかのフラグです。TRUEならミュートし、FALSEならミュートを解除します。
`mute` | ミュート設定です。

## 返り値

なし。

## 説明

シーケンストラックをミュートしたり、やめたりします。

サウンドハンドル`handle`に、結びつけられたシーケンスのトラックをミュートしたりやめたりします。 サウンドハンドルが無効の場合は、何もしません。

`trackBitMask`で、設定するトラックを指定します。 下位ビットから順に、トラック0、トラック1、トラック2、、、を表し、ビットが立っているトラック全てに対して、 ミュートの設定を変更します。 例えば、トラック2とトラック5のミュート設定を変更したい場合は、 (1 << 2) | (1 << 5) すなわち、0x0024 とします。

`NNS_SndPlayerSetTrackMute`関数で、ミュートを行うと、 発音中の音は即座に停止します。 即座に停止させたくない場合は、`NNS_SndPlayerSetTrackMuteEx`関数を使います。

ミュート設定`mute`は、下記の値から選択します。

表 . NNSSndSeqMute

ラベル | 説明
--- | ---
NNS_SND_SEQ_MUTE_OFF | ミュート解除
NNS_SND_SEQ_MUTE_NO_STOP | 発音中の音を止めずにミュート
NNS_SND_SEQ_MUTE_RELEASE | 発音中の音をリリースしてミュート
NNS_SND_SEQ_MUTE_STOP | 発音中の音を即座に止めてミュート

### 注意

`NNS_SndPlayerSetTrackMuteEx`関数は、SDKバージョン3.1以降で使用できます。

`NNS_SndPlayerSetTrackMute`関数でトラックをミュート、 もしくは、`NNS_SndPlayerSetTrackMuteEx`関数でNNS_SND_SEQ_MUTE_STOPを 指定した場合、 発音中の音は全て強制的に止められ、それ以降の発音は行われなくなります。 ミュートを解除すると、発音が行われるようになりますが、すぐに音が鳴り出すわけではありません。次のノートオンから鳴り始めることに注意してください。

シーケンスデータ中でも、ミュート設定をしていた場合は、 後から設定した方が有効になります。

## 参照

なし。

## 履歴

2006/03/20 NNS_SndPlayerSetTrackMuteEx関数追加
2004/06/01 サウンドハンドルはシーケンスと結びつくように記述修正
2004/04/01 初版