我已经编写了一个程序,该程序可以正常播放声音,但是如何设置3D声音的位置,或者至少可以设置右侧声音的强度和右侧声音的强度左边?
到目前为止,这是我的代码:
WaveOut wavOut = new WaveOut();
wavOut.Init(new BlockAlignReductionStream(new WaveFileReader(File.OpenRead("Wav File")));
wavOut.Play();
while(wavOut.PlaybackState == PlaybackState.Playing)
{
Thread.Sleep(250);
}
最佳答案
假设您有立体声录音,则没有“3D”组件。
也许您想改为调整左右声道的响度。如果是这样,您可以尝试使用WaveChannel32类来控制平移-参见此处:https://github.com/naudio/NAudio/blob/e359ca0566e9f9b14fee1ba6e0ec17e4482c7844/NAudio/Wave/WaveStreams/WaveChannel32.cs
将WaveFileReader传递给它,并提供适当的平移值(-1> = x
WaveOut wavOut = new WaveOut();
wavOut.Init(new WaveChannel32(new WaveFileReader(File.OpenRead("WavFile"), 0, 0)); // the last argument in the WaveChannel32 is the pan value
wavOut.Play();
关于c# - C#NAudio 3D声音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54983060/