BASS再生をミュートおよびミュート解除するにはどうすればよいですか(プラットフォームに依存しません)?今までは、ミュートする前に現在の音量を保存し、音量を0に設定し、ミュートを解除した場合は元に戻します。
例:
私のC++クラスの一部
volume_t lastVolume; // 0.0f = silent, 1.0f = max (volume_t = float)
// ...
bool mute(bool mute)
{
if( mute )
{
lastVolume = getVolume(); // Save current volume
return setVolume(0.0f); // Set volume to silent
}
else
{
return setVolume(lastVolume); // restore last volume before muting
}
}
これを行うためのより良い方法はありますか?BASS Apiのドキュメントには、ミュート機能が1つだけあります。
BOOL BASS_WASAPI_SetMute(
BOOL mute
);
ただし、これは良さそうに見えますが、残念ながらBASSWASAPIの一部です(WindowsVista以降のWASAPII / O-クロスプラットフォームではありません)。