var laserStream = Application.GetResourceStream( new Uri("laser_shot.wav", UriKind.RelativeOrAbsolute));var effect = SoundEffect.FromStream(laserStream.Stream);effect.Play();multiple instance
var engineStream = Application.GetResourceStream( new Uri("engine_rumble4.wav", UriKind.RelativeOrAbsolute));_engineEffect = SoundEffect.FromStream(engineStream.Stream);SoundEffectInstance engineInstance = _engineEffect.CreateInstance();engineInstance.IsLooped = true;engineInstance.Pitch = -1.0f; // low soundengineInstance.Volume = 0.75f;engineInstance.Play();// offset a second instance by 1 second, helps mask my bad loop pointDispatcherTimer timer = new DispatcherTimer();timer.Interval = TimeSpan.FromSeconds(1);timer.Tick += (s, ea) => { timer.Stop(); SoundEffectInstance engineInstance2 = _engineEffect.CreateInstance(); engineInstance2.IsLooped = true; engineInstance2.Pitch = -.75f; // slightly higher sound engineInstance2.Volume = 0.5f; engineInstance2.Play(); };timer.Start();
No comments:
Post a Comment