private void WavePlayer_PlaybackStopped(object sender, StoppedEventArgs e) { if (CurrentWav != null) { CurrentWav.Dispose(); } CurrentWav = null; }
//Set Audio public void SetAudio(WavStream wav) { if (wavePlayer.PlaybackState != PlaybackState.Stopped) { wavePlayer.Stop(); } if (CurrentWav != null) { CurrentWav.Dispose(); } CurrentWav = wav; //Load wav wavePlayer.Init(wav.waveStream); wavePlayer.Volume = 1f; }
public void Stop() { if (CurrentWav == null) { return; } if (wavePlayer.PlaybackState == PlaybackState.Playing) { wavePlayer.Stop(); } if (CurrentWav != null) { CurrentWav.Dispose(); CurrentWav = null; } }
public async Task AsyncSetHcaAudio(byte[] hcaBytes) { WavStream wav = null; await Task.Run(() => wav = HCA.Decode(hcaBytes)); if (wavePlayer.PlaybackState != PlaybackState.Stopped) { wavePlayer.Stop(); } if (CurrentWav != null) { CurrentWav.Dispose(); } CurrentWav = wav; //Load wav await Task.Run(() => wavePlayer.Init(wav.waveStream)); wavePlayer.Volume = 1f; }
//Helpers public bool HasAudio(WavStream _wavStream) { return(CurrentWav == _wavStream); }