2

私のアプリケーションでは、2 つのサウンド ファイル (Wave ファイル、2 つのリソース) を再生します。1 つは「成功」アクション用で、もう 1 つは発生した「エラー」用です。

したがって、それらを再生するには、次のようにします。

My.Computer.Audio.Play(My.Resources.Success, AudioPlayMode.Background)

ここで、その wavefile の音量を変更するオプションをアプリに追加したいと思います。つまり、元の音量よりも小さい音量で再生することを意味します (ユーザーがそうしたい場合)。

私はNaudioや私のような他のStackOverFlowの質問のためにそれをグーグルで調べました.NAudioライブラリがこの仕事をすることができることに気付きました.私のwavファイルのボリューム。

私はVB.NETで作業しています。

追加情報が必要な場合は、NAudio lib: http://naudio.codeplex.com/releases/view/96875をご覧ください。

そして、ここに NAudio の DemoApp の興味深い部分があります。音量を上げたり下げたりする方法は次のとおりだと思いますが、よくわかりません。

        namespace NAudioDemo.AudioPlaybackDemo

        this.fileWaveStream = plugin.CreateWaveStream(fileName);
        var waveChannel =  new SampleChannel(this.fileWaveStream, true);
        this.setVolumeDelegate = (vol) => waveChannel.Volume = vol;
        waveChannel.PreVolumeMeter += OnPreVolumeMeter;

        var postVolumeMeter = new MeteringSampleProvider(waveChannel);
        postVolumeMeter.StreamVolume += OnPostVolumeMeter;
4

2 に答える 2

2

リソースを Stream として取得できる場合は、 を使用しWaveFileReaderてそれをロードし、それを に渡してSampleChannel音量を調整できます。MeteringSampleProvider必要ありません。

于 2013-07-12T12:58:11.037 に答える