diff --git a/Correlator/Correlator.csproj b/Correlator/Correlator.csproj index 7e18644..e340ccd 100644 --- a/Correlator/Correlator.csproj +++ b/Correlator/Correlator.csproj @@ -241,6 +241,7 @@ + diff --git a/Correlator/Correlator.csproj b/Correlator/Correlator.csproj index 7e18644..e340ccd 100644 --- a/Correlator/Correlator.csproj +++ b/Correlator/Correlator.csproj @@ -241,6 +241,7 @@ + diff --git a/Correlator/DataService/SerialPortServiceImpl.cs b/Correlator/DataService/SerialPortServiceImpl.cs index 824eccb..fe1476b 100644 --- a/Correlator/DataService/SerialPortServiceImpl.cs +++ b/Correlator/DataService/SerialPortServiceImpl.cs @@ -255,6 +255,21 @@ //原始噪音数据 var dataValue = noiseTag.DataValue; + //计算噪声大小 + var num = noiseTag.Len / 3; + var realData = new double[num]; + for (var i = 0; i < num; i++) + { + var dStr = new byte[3]; + Array.Copy(noiseTag.DataValue, i * 3, dStr, 0, 3); + + realData[i] = dStr.HexToDouble(); + } + + var noiseValue = 0.0; + Array.ForEach(realData, i => noiseValue += i); + _eventAggregator.GetEvent().Publish(Math.Abs(noiseValue)); + //PCM数据 var pcm = new byte[7500 * 3]; //每个采样点2字节 diff --git a/Correlator/Correlator.csproj b/Correlator/Correlator.csproj index 7e18644..e340ccd 100644 --- a/Correlator/Correlator.csproj +++ b/Correlator/Correlator.csproj @@ -241,6 +241,7 @@ + diff --git a/Correlator/DataService/SerialPortServiceImpl.cs b/Correlator/DataService/SerialPortServiceImpl.cs index 824eccb..fe1476b 100644 --- a/Correlator/DataService/SerialPortServiceImpl.cs +++ b/Correlator/DataService/SerialPortServiceImpl.cs @@ -255,6 +255,21 @@ //原始噪音数据 var dataValue = noiseTag.DataValue; + //计算噪声大小 + var num = noiseTag.Len / 3; + var realData = new double[num]; + for (var i = 0; i < num; i++) + { + var dStr = new byte[3]; + Array.Copy(noiseTag.DataValue, i * 3, dStr, 0, 3); + + realData[i] = dStr.HexToDouble(); + } + + var noiseValue = 0.0; + Array.ForEach(realData, i => noiseValue += i); + _eventAggregator.GetEvent().Publish(Math.Abs(noiseValue)); + //PCM数据 var pcm = new byte[7500 * 3]; //每个采样点2字节 diff --git a/Correlator/Dialog/SimplyAuditionDialog.xaml b/Correlator/Dialog/SimplyAuditionDialog.xaml index 5a5096e..bcb9a03 100644 --- a/Correlator/Dialog/SimplyAuditionDialog.xaml +++ b/Correlator/Dialog/SimplyAuditionDialog.xaml @@ -51,30 +51,61 @@ - - + + + + + + - - + + + + + + + + + + + + + + + + diff --git a/Correlator/Correlator.csproj b/Correlator/Correlator.csproj index 7e18644..e340ccd 100644 --- a/Correlator/Correlator.csproj +++ b/Correlator/Correlator.csproj @@ -241,6 +241,7 @@ + diff --git a/Correlator/DataService/SerialPortServiceImpl.cs b/Correlator/DataService/SerialPortServiceImpl.cs index 824eccb..fe1476b 100644 --- a/Correlator/DataService/SerialPortServiceImpl.cs +++ b/Correlator/DataService/SerialPortServiceImpl.cs @@ -255,6 +255,21 @@ //原始噪音数据 var dataValue = noiseTag.DataValue; + //计算噪声大小 + var num = noiseTag.Len / 3; + var realData = new double[num]; + for (var i = 0; i < num; i++) + { + var dStr = new byte[3]; + Array.Copy(noiseTag.DataValue, i * 3, dStr, 0, 3); + + realData[i] = dStr.HexToDouble(); + } + + var noiseValue = 0.0; + Array.ForEach(realData, i => noiseValue += i); + _eventAggregator.GetEvent().Publish(Math.Abs(noiseValue)); + //PCM数据 var pcm = new byte[7500 * 3]; //每个采样点2字节 diff --git a/Correlator/Dialog/SimplyAuditionDialog.xaml b/Correlator/Dialog/SimplyAuditionDialog.xaml index 5a5096e..bcb9a03 100644 --- a/Correlator/Dialog/SimplyAuditionDialog.xaml +++ b/Correlator/Dialog/SimplyAuditionDialog.xaml @@ -51,30 +51,61 @@ - - + + + + + + - - + + + + + + + + + + + + + + + + diff --git a/Correlator/Events/NoiseValueEvent.cs b/Correlator/Events/NoiseValueEvent.cs new file mode 100644 index 0000000..e5ec8fd --- /dev/null +++ b/Correlator/Events/NoiseValueEvent.cs @@ -0,0 +1,8 @@ +using Prism.Events; + +namespace Correlator.Events +{ + public class NoiseValueEvent : PubSubEvent + { + } +} \ No newline at end of file diff --git a/Correlator/Correlator.csproj b/Correlator/Correlator.csproj index 7e18644..e340ccd 100644 --- a/Correlator/Correlator.csproj +++ b/Correlator/Correlator.csproj @@ -241,6 +241,7 @@ + diff --git a/Correlator/DataService/SerialPortServiceImpl.cs b/Correlator/DataService/SerialPortServiceImpl.cs index 824eccb..fe1476b 100644 --- a/Correlator/DataService/SerialPortServiceImpl.cs +++ b/Correlator/DataService/SerialPortServiceImpl.cs @@ -255,6 +255,21 @@ //原始噪音数据 var dataValue = noiseTag.DataValue; + //计算噪声大小 + var num = noiseTag.Len / 3; + var realData = new double[num]; + for (var i = 0; i < num; i++) + { + var dStr = new byte[3]; + Array.Copy(noiseTag.DataValue, i * 3, dStr, 0, 3); + + realData[i] = dStr.HexToDouble(); + } + + var noiseValue = 0.0; + Array.ForEach(realData, i => noiseValue += i); + _eventAggregator.GetEvent().Publish(Math.Abs(noiseValue)); + //PCM数据 var pcm = new byte[7500 * 3]; //每个采样点2字节 diff --git a/Correlator/Dialog/SimplyAuditionDialog.xaml b/Correlator/Dialog/SimplyAuditionDialog.xaml index 5a5096e..bcb9a03 100644 --- a/Correlator/Dialog/SimplyAuditionDialog.xaml +++ b/Correlator/Dialog/SimplyAuditionDialog.xaml @@ -51,30 +51,61 @@ - - + + + + + + - - + + + + + + + + + + + + + + + + diff --git a/Correlator/Events/NoiseValueEvent.cs b/Correlator/Events/NoiseValueEvent.cs new file mode 100644 index 0000000..e5ec8fd --- /dev/null +++ b/Correlator/Events/NoiseValueEvent.cs @@ -0,0 +1,8 @@ +using Prism.Events; + +namespace Correlator.Events +{ + public class NoiseValueEvent : PubSubEvent + { + } +} \ No newline at end of file diff --git a/Correlator/Properties/AssemblyInfo.cs b/Correlator/Properties/AssemblyInfo.cs index 699ed6e..ab017ac 100644 --- a/Correlator/Properties/AssemblyInfo.cs +++ b/Correlator/Properties/AssemblyInfo.cs @@ -49,6 +49,6 @@ // 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, // 方法是按如下所示使用“*”: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.0.0.1")] +[assembly: AssemblyFileVersion("1.0.0.1")] [assembly: log4net.Config.XmlConfigurator(Watch = true)] \ No newline at end of file diff --git a/Correlator/Correlator.csproj b/Correlator/Correlator.csproj index 7e18644..e340ccd 100644 --- a/Correlator/Correlator.csproj +++ b/Correlator/Correlator.csproj @@ -241,6 +241,7 @@ + diff --git a/Correlator/DataService/SerialPortServiceImpl.cs b/Correlator/DataService/SerialPortServiceImpl.cs index 824eccb..fe1476b 100644 --- a/Correlator/DataService/SerialPortServiceImpl.cs +++ b/Correlator/DataService/SerialPortServiceImpl.cs @@ -255,6 +255,21 @@ //原始噪音数据 var dataValue = noiseTag.DataValue; + //计算噪声大小 + var num = noiseTag.Len / 3; + var realData = new double[num]; + for (var i = 0; i < num; i++) + { + var dStr = new byte[3]; + Array.Copy(noiseTag.DataValue, i * 3, dStr, 0, 3); + + realData[i] = dStr.HexToDouble(); + } + + var noiseValue = 0.0; + Array.ForEach(realData, i => noiseValue += i); + _eventAggregator.GetEvent().Publish(Math.Abs(noiseValue)); + //PCM数据 var pcm = new byte[7500 * 3]; //每个采样点2字节 diff --git a/Correlator/Dialog/SimplyAuditionDialog.xaml b/Correlator/Dialog/SimplyAuditionDialog.xaml index 5a5096e..bcb9a03 100644 --- a/Correlator/Dialog/SimplyAuditionDialog.xaml +++ b/Correlator/Dialog/SimplyAuditionDialog.xaml @@ -51,30 +51,61 @@ - - + + + + + + - - + + + + + + + + + + + + + + + + diff --git a/Correlator/Events/NoiseValueEvent.cs b/Correlator/Events/NoiseValueEvent.cs new file mode 100644 index 0000000..e5ec8fd --- /dev/null +++ b/Correlator/Events/NoiseValueEvent.cs @@ -0,0 +1,8 @@ +using Prism.Events; + +namespace Correlator.Events +{ + public class NoiseValueEvent : PubSubEvent + { + } +} \ No newline at end of file diff --git a/Correlator/Properties/AssemblyInfo.cs b/Correlator/Properties/AssemblyInfo.cs index 699ed6e..ab017ac 100644 --- a/Correlator/Properties/AssemblyInfo.cs +++ b/Correlator/Properties/AssemblyInfo.cs @@ -49,6 +49,6 @@ // 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, // 方法是按如下所示使用“*”: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.0.0.1")] +[assembly: AssemblyFileVersion("1.0.0.1")] [assembly: log4net.Config.XmlConfigurator(Watch = true)] \ No newline at end of file diff --git a/Correlator/ViewModels/SimplyAuditionDialogViewModel.cs b/Correlator/ViewModels/SimplyAuditionDialogViewModel.cs index 9fe8201..62a098e 100644 --- a/Correlator/ViewModels/SimplyAuditionDialogViewModel.cs +++ b/Correlator/ViewModels/SimplyAuditionDialogViewModel.cs @@ -1,9 +1,11 @@ using System; using System.Runtime.InteropServices; using Correlator.DataService; +using Correlator.Events; using Correlator.Util; using NAudio.CoreAudioApi; using Prism.Commands; +using Prism.Events; using Prism.Mvvm; using Prism.Services.Dialogs; @@ -53,6 +55,18 @@ } } + private double _noiseValue; + + public double NoiseValue + { + get => _noiseValue; + set + { + _noiseValue = value; + RaisePropertyChanged(); + } + } + #endregion #region DelegateCommand @@ -86,7 +100,7 @@ } public SimplyAuditionDialogViewModel(ISerialPortService serialPortService, IAudioService audioService, - IDialogService dialogService) + IDialogService dialogService, IEventAggregator eventAggregator) { GoBackCommand = new DelegateCommand(delegate { @@ -178,6 +192,9 @@ IsBlueRecording = true; } }); + + //实时显示噪声值 + eventAggregator.GetEvent().Subscribe(delegate(double value) { NoiseValue = value; }); } ///