2014-11-17 12 views
0

유니버셜 앱에서 임의로 피치로 WAV를 재생하고 싶습니다. 필요한 것보다 더 직선적 인 방법이 있다면 SharpDX 말해줘!sharpDX/Xaudio2로 웨이브의 피치를 변경하려면 어떻게해야합니까?

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(); 
    } 

답변

0

나는

sourceVoice.SubmitSourceBuffer(buffer, stream.DecodedPacketsInfo); 
    sourceVoice.SetFrequencyRatio(200.0f); 
주위에 이러한 전환했다