【问题标题】:How do I change the pitch of a wave with sharpDX/Xaudio2 ?如何使用 sharpDX/Xaudio2 更改波的音高?
【发布时间】:2014-11-17 22:01:29
【问题描述】:

我想要做的就是在我的通用应用程序中以随机音高播放 WAV。如果有比 SharpDX 需要的更直接的方法来做到这一点,请告诉我!

 private void PlayTone(float randomPitch)
    {
        var xAudio = new XAudio2();
        var masteringVoice = new MasteringVoice(xAudio);
        var nativeFileStream = new NativeFileStream("Assets/440tone2.wav", NativeFileMode.Open, NativeFileAccess.Read, NativeFileShare.Read);
        var stream = new SoundStream(nativeFileStream);
        var waveFormat = stream.Format;

        var buffer = new AudioBuffer
        {
            Stream = stream.ToDataStream(),
            AudioBytes = (int)stream.Length,
            Flags = BufferFlags.EndOfStream
        };

        var sourceVoice = new SourceVoice(xAudio, waveFormat, true);
        sourceVoice.SubmitSourceBuffer(buffer, stream.DecodedPacketsInfo);
      //  sourceVoice.SetFrequencyRatio(200.0f);
        sourceVoice.Start();
    }

【问题讨论】:

    标签: win-universal-app sharpdx xaudio2


    【解决方案1】:

    我不得不改变这些

    sourceVoice.SubmitSourceBuffer(buffer, stream.DecodedPacketsInfo);
        sourceVoice.SetFrequencyRatio(200.0f);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      相关资源
      最近更新 更多