投稿者 祈り星  (社会人) 投稿日時 2024/3/16 01:39:59
C#初心者でC#のプログラミング言語しか分かりませんが質問させてください。

OS Windows10
visual studio community 2022
フレームワーク .NET 7.0

NAudioで音を鳴らしていますが音楽と効果音を別々に音量調整をしたいのですがどうすればいいでしょうか?
bgm1.Volume = 0.5f; などで音量調整をしようとしてもPC自体の機能として存在している音量を調整するミキサーを操作しているようで、個別ではなく全体の音量を弄ってしまうため個別音量調整は根本的にこのようなコードではないようで困っています。
現在は以下のように音楽を鳴らしています、どうかよろしくお願いします。



WaveStream bgm1Stream = new Mp3FileReader(new System.IO.MemoryStream(Resources.音楽1));
WaveOut bgm1 = new();

WaveStream se1Stream = new Mp3FileReader(new System.IO.MemoryStream(Resources.効果音1));
WaveOut se1 = new();

public Form1()
{
    bgm1.Init(bgm1Stream);
    se1.Init(se1Stream);
}

private void SoundPlay(int bgm)
{

    if (bgm == -1)
    {
        if (bgm1Stream.Position <= 0 || bgm1Stream.Position >= bgm1Stream.Length - 1000)
        {
            bgm1Stream.Position = 0;
            bgm1.Play();
        }
    }

if (bgm == 1)
{
    if (se1Stream.Position <= 0 || se1Stream.Position >= 120000) 
    { se1.Stop(); se1Stream.CurrentTime = TimeSpan.FromSeconds(0.55); se1.Play();
    }
}

}