diff --git a/Correlator/ViewModels/AudioFileViewModel.cs b/Correlator/ViewModels/AudioFileViewModel.cs index 7480223..3e6ab4a 100644 --- a/Correlator/ViewModels/AudioFileViewModel.cs +++ b/Correlator/ViewModels/AudioFileViewModel.cs @@ -184,10 +184,7 @@ if (_waveOutEvent.PlaybackState == PlaybackState.Playing) { - _waveOutEvent.Dispose(); - _audioFileReader.Dispose(); - _audioTimer.Stop(); - AudioState = "未播放"; + DisposeResource(); } else { @@ -203,6 +200,8 @@ } catch (FormatException) { + DisposeResource(); + dialogService.ShowDialog( "AlertMessageDialog", new DialogParameters @@ -255,6 +254,14 @@ }); } + private void DisposeResource() + { + _waveOutEvent?.Dispose(); + _audioFileReader?.Dispose(); + _audioTimer?.Stop(); + AudioState = "未播放"; + } + public bool CanCloseDialog() { return true; diff --git a/Correlator/ViewModels/AudioFileViewModel.cs b/Correlator/ViewModels/AudioFileViewModel.cs index 7480223..3e6ab4a 100644 --- a/Correlator/ViewModels/AudioFileViewModel.cs +++ b/Correlator/ViewModels/AudioFileViewModel.cs @@ -184,10 +184,7 @@ if (_waveOutEvent.PlaybackState == PlaybackState.Playing) { - _waveOutEvent.Dispose(); - _audioFileReader.Dispose(); - _audioTimer.Stop(); - AudioState = "未播放"; + DisposeResource(); } else { @@ -203,6 +200,8 @@ } catch (FormatException) { + DisposeResource(); + dialogService.ShowDialog( "AlertMessageDialog", new DialogParameters @@ -255,6 +254,14 @@ }); } + private void DisposeResource() + { + _waveOutEvent?.Dispose(); + _audioFileReader?.Dispose(); + _audioTimer?.Stop(); + AudioState = "未播放"; + } + public bool CanCloseDialog() { return true; diff --git a/Correlator/ViewModels/MainWindowViewModel.cs b/Correlator/ViewModels/MainWindowViewModel.cs index 62ec37f..75ad8f3 100644 --- a/Correlator/ViewModels/MainWindowViewModel.cs +++ b/Correlator/ViewModels/MainWindowViewModel.cs @@ -953,7 +953,7 @@ if (RuntimeCache.CorrelatorData != null) { var filePath = - $"{DirectoryManager.GetAudioDir()}\\音频_{DateTime.Now.ToString("yyyyMMddHHmmss")}.wav"; + $"{DirectoryManager.GetAudioDir()}\\音频_{DateTime.Now.ToString("yyyyMMdd_HHmmss")}.wav"; filePath.SaveWavFile( RuntimeCache.CorrelatorData.LeftDeviceDataArray, RuntimeCache.CorrelatorData.RightDeviceDataArray