我正在尝试使用Soundtouch(http://www.surina.net/soundtouch/)创建一个可以改变歌曲音高的应用。它是一个C ++库,但在FAQ中它们提供了一个指向C#包装器的链接。
所以我将包装器添加到我的代码中,并开始寻找某种方法来添加,处理或播放内容。我没有找到任何,所以我开始认为它会自动调整声音。但当然,这种情况并没有发生。
所以我的问题是 - 你们有没有经历过Soundtouch的事情?你能帮我解决一个微不足道的问题 - 如何实际改变声音音高?现在,没有任何变化,它会播放原始音高和速度。
不要看SetTempo或SetPitch上的值,我只是弄乱它们看它是否有效。
private void button1_Click(object sender, EventArgs e)
{
SoundTouchSharp st = new SoundTouchSharp();
st.CreateInstance();
st.SetTempo((float)0.1);
st.SetPitch(8);
SoundPlayer sp = new SoundPlayer();
sp.SoundLocation = "./piano.wav";
sp.Load();
sp.Play();
st.Dispose();
}