#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 初版