在我的应用程序中,我播放两个声音文件,它们是 Wave 文件,两个资源,一个用于“成功”操作,另一个用于发生“错误”操作。
所以为了玩它们,我这样做:
My.Computer.Audio.Play(My.Resources.Success, AudioPlayMode.Background)
现在我想在我的应用程序中添加一个选项来修改该波形文件的音量,我的意思是用比原始音量更小的音量来播放它们(如果用户想要这样做)。
我在 Google 上搜索了 Naudio 和其他像我一样的 StackOverFlow 问题,我注意到 NAudio 库可以完成这项工作,问题是所有示例都是用 C# 编写的,而且都是超专业编码的,所以我真的不明白我是如何做到的可以更改我的 wav 文件的音量。
我正在使用 VB.NET。
如果您需要其他信息,那么这里是 NAudio 库: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;
最佳答案
如果您可以将资源作为 Stream 获取,那么您可以使用 WaveFileReader
来加载它,然后将其传递到 SampleChannel
以允许您调节音量。不需要 MeteringSampleProvider
。
关于.net - 如何使用 NAudio 更改 wav 资源的音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17575980/