From 64bd3fbfc6e735c93c91c34fae43537cadb497f2 Mon Sep 17 00:00:00 2001 From: "smallchi(Koike)" <564952747@qq.com> Date: Thu, 27 Feb 2020 12:06:52 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=AE=8C=E5=96=848802=E3=80=818803=E3=80=818?= =?UTF-8?q?804=E3=80=818805=E5=88=86=E6=9E=90=E5=B7=A5=E5=85=B7=202.?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E4=BE=9D=E8=B5=96=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JT808.Protocol.Test.csproj | 4 +- src/JT808.Protocol/JT808.Protocol.csproj | 4 +- src/JT808.Protocol/JT808.Protocol.xml | 14 +++---- .../MessageBody/JT808_0x8802.cs | 10 +++-- .../MessageBody/JT808_0x8803.cs | 33 +++++++++-------- .../MessageBody/JT808_0x8804.cs | 37 ++++++++++++++----- .../MessageBody/JT808_0x8805.cs | 14 ++++--- 7 files changed, 70 insertions(+), 46 deletions(-) diff --git a/src/JT808.Protocol.Test/JT808.Protocol.Test.csproj b/src/JT808.Protocol.Test/JT808.Protocol.Test.csproj index 26022c1..6d61a9f 100644 --- a/src/JT808.Protocol.Test/JT808.Protocol.Test.csproj +++ b/src/JT808.Protocol.Test/JT808.Protocol.Test.csproj @@ -108,11 +108,11 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + diff --git a/src/JT808.Protocol/JT808.Protocol.csproj b/src/JT808.Protocol/JT808.Protocol.csproj index 2f09328..85ed97a 100644 --- a/src/JT808.Protocol/JT808.Protocol.csproj +++ b/src/JT808.Protocol/JT808.Protocol.csproj @@ -71,8 +71,8 @@ - - + + diff --git a/src/JT808.Protocol/JT808.Protocol.xml b/src/JT808.Protocol/JT808.Protocol.xml index 25507c8..7a4ea3c 100644 --- a/src/JT808.Protocol/JT808.Protocol.xml +++ b/src/JT808.Protocol/JT808.Protocol.xml @@ -198,6 +198,11 @@ 电话回拨类型 + + + 摄像头分辨率 + + 方向类型 @@ -6511,14 +6516,7 @@ 分辨率 - 0x01:320*240; - 0x02:640*480; - 0x03:800*600; - 0x04:1024*768; - 0x05:176*144;[Qcif]; - 0x06:352*288;[Cif]; - 0x07:704*288;[HALF D1]; - 0x08:704*576;[D1]; + diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8802.cs b/src/JT808.Protocol/MessageBody/JT808_0x8802.cs index 3169bec..c70e549 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8802.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8802.cs @@ -1,4 +1,5 @@ -using JT808.Protocol.Extensions; +using JT808.Protocol.Enums; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; @@ -69,10 +70,11 @@ namespace JT808.Protocol.MessageBody value.EventItemCoding = reader.ReadByte(); value.StartTime = reader.ReadDateTime6(); value.EndTime = reader.ReadDateTime6(); - - writer.WriteNumber($"[{ value.MultimediaType.ReadNumber()}]多媒体类型", value.MultimediaType); + JT808MultimediaType multimediaType = (JT808MultimediaType)value.MultimediaType; + JT808EventItemCoding eventItemCoding = (JT808EventItemCoding)value.EventItemCoding; + writer.WriteNumber($"[{ value.MultimediaType.ReadNumber()}]多媒体类型-{multimediaType.ToString()}", value.MultimediaType); writer.WriteNumber($"[{ value.ChannelId.ReadNumber()}]通道ID", value.ChannelId); - writer.WriteNumber($"[{ value.EventItemCoding.ReadNumber()}]事件项编码", value.EventItemCoding); + writer.WriteNumber($"[{ value.EventItemCoding.ReadNumber()}]事件项编码-{eventItemCoding.ToString()}", value.EventItemCoding); writer.WriteString($"[{ value.StartTime.ToString("yyMMddHHmmss")}]起始时间", value.StartTime.ToString("yyyy-MM-dd HH:mm:ss")); writer.WriteString($"[{ value.EndTime.ToString("yyMMddHHmmss")}]结束时间", value.EndTime.ToString("yyyy-MM-dd HH:mm:ss")); } diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8803.cs b/src/JT808.Protocol/MessageBody/JT808_0x8803.cs index 4e4c3de..2b8bd34 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8803.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8803.cs @@ -1,4 +1,5 @@ -using JT808.Protocol.Extensions; +using JT808.Protocol.Enums; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; @@ -71,20 +72,22 @@ namespace JT808.Protocol.MessageBody public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) { - JT808_0x8803 jT808_0X8803 = new JT808_0x8803(); - jT808_0X8803.MultimediaType = reader.ReadByte(); - jT808_0X8803.ChannelId = reader.ReadByte(); - jT808_0X8803.EventItemCoding = reader.ReadByte(); - jT808_0X8803.StartTime = reader.ReadDateTime6(); - jT808_0X8803.EndTime = reader.ReadDateTime6(); - jT808_0X8803.MultimediaDeleted = reader.ReadByte(); - - writer.WriteNumber($"[{ jT808_0X8803.MultimediaType.ReadNumber()}]多媒体类型", jT808_0X8803.MultimediaType); - writer.WriteNumber($"[{ jT808_0X8803.ChannelId.ReadNumber()}]通道ID", jT808_0X8803.ChannelId); - writer.WriteNumber($"[{ jT808_0X8803.EventItemCoding.ReadNumber()}]事件项编码", jT808_0X8803.EventItemCoding); - writer.WriteString($"[{ jT808_0X8803.StartTime.ToString("yyMMddHHmmss")}]起始时间", jT808_0X8803.StartTime.ToString("yyyy-MM-dd HH:mm:ss")); - writer.WriteString($"[{ jT808_0X8803.EndTime.ToString("yyMMddHHmmss")}]结束时间", jT808_0X8803.EndTime.ToString("yyyy-MM-dd HH:mm:ss")); - writer.WriteNumber($"[{ jT808_0X8803.MultimediaDeleted.ReadNumber()}]删除标志", jT808_0X8803.MultimediaDeleted); + JT808_0x8803 value = new JT808_0x8803(); + value.MultimediaType = reader.ReadByte(); + value.ChannelId = reader.ReadByte(); + value.EventItemCoding = reader.ReadByte(); + value.StartTime = reader.ReadDateTime6(); + value.EndTime = reader.ReadDateTime6(); + value.MultimediaDeleted = reader.ReadByte(); + JT808MultimediaType multimediaType = (JT808MultimediaType)value.MultimediaType; + JT808EventItemCoding eventItemCoding = (JT808EventItemCoding)value.EventItemCoding; + JT808MultimediaDeleted multimediaDeleted = (JT808MultimediaDeleted)value.MultimediaDeleted; + writer.WriteNumber($"[{ value.MultimediaType.ReadNumber()}]多媒体类型-{multimediaType.ToString()}", value.MultimediaType); + writer.WriteNumber($"[{ value.ChannelId.ReadNumber()}]通道ID", value.ChannelId); + writer.WriteNumber($"[{ value.EventItemCoding.ReadNumber()}]事件项编码-{eventItemCoding.ToString()}", value.EventItemCoding); + writer.WriteString($"[{ value.StartTime.ToString("yyMMddHHmmss")}]起始时间", value.StartTime.ToString("yyyy-MM-dd HH:mm:ss")); + writer.WriteString($"[{ value.EndTime.ToString("yyMMddHHmmss")}]结束时间", value.EndTime.ToString("yyyy-MM-dd HH:mm:ss")); + writer.WriteNumber($"[{ value.MultimediaDeleted.ReadNumber()}]删除标志-{multimediaDeleted.ToString()}", value.MultimediaDeleted); } } } diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8804.cs b/src/JT808.Protocol/MessageBody/JT808_0x8804.cs index 280af53..c015eae 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8804.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8804.cs @@ -53,15 +53,34 @@ namespace JT808.Protocol.MessageBody public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) { - JT808_0x8804 jT808_0X8804 = new JT808_0x8804(); - jT808_0X8804.RecordCmd = (JT808RecordCmd)reader.ReadByte(); - jT808_0X8804.RecordTime = reader.ReadUInt16(); - jT808_0X8804.RecordSave = (JT808RecordSave)reader.ReadByte(); - jT808_0X8804.AudioSampleRate = reader.ReadByte(); - writer.WriteNumber($"[{ ((byte)(jT808_0X8804.RecordCmd)).ReadNumber()}]录音命令", (byte)jT808_0X8804.RecordCmd); - writer.WriteNumber($"[{jT808_0X8804.RecordTime.ReadNumber()}]单位为秒(s)", jT808_0X8804.RecordTime); - writer.WriteNumber($"[{((byte)jT808_0X8804.RecordSave).ReadNumber()}]保存标志", (byte)jT808_0X8804.RecordSave); - writer.WriteNumber($"[{jT808_0X8804.AudioSampleRate.ReadNumber()}]音频采样率", jT808_0X8804.AudioSampleRate); + JT808_0x8804 value = new JT808_0x8804(); + value.RecordCmd = (JT808RecordCmd)reader.ReadByte(); + value.RecordTime = reader.ReadUInt16(); + value.RecordSave = (JT808RecordSave)reader.ReadByte(); + value.AudioSampleRate = reader.ReadByte(); + + writer.WriteNumber($"[{ ((byte)(value.RecordCmd)).ReadNumber()}]录音命令-{value.RecordCmd.ToString()}", (byte)value.RecordCmd); + writer.WriteNumber($"[{value.RecordTime.ReadNumber()}]单位为秒(s)", value.RecordTime); + writer.WriteNumber($"[{((byte)value.RecordSave).ReadNumber()}]保存标志-{value.RecordSave.ToString()}", (byte)value.RecordSave); + switch (value.AudioSampleRate) + { + case 0: + writer.WriteNumber($"[{value.AudioSampleRate.ReadNumber()}]音频采样率-8K", value.AudioSampleRate); + break; + case 1: + writer.WriteNumber($"[{value.AudioSampleRate.ReadNumber()}]音频采样率-11K", value.AudioSampleRate); + break; + case 2: + writer.WriteNumber($"[{value.AudioSampleRate.ReadNumber()}]音频采样率-23K", value.AudioSampleRate); + break; + case 3: + writer.WriteNumber($"[{value.AudioSampleRate.ReadNumber()}]音频采样率-32K", value.AudioSampleRate); + break; + default: + writer.WriteNumber($"[{value.AudioSampleRate.ReadNumber()}]音频采样率-保留", value.AudioSampleRate); + break; + } + } } } diff --git a/src/JT808.Protocol/MessageBody/JT808_0x8805.cs b/src/JT808.Protocol/MessageBody/JT808_0x8805.cs index 5fd70b8..93bbdcf 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x8805.cs +++ b/src/JT808.Protocol/MessageBody/JT808_0x8805.cs @@ -1,4 +1,5 @@ -using JT808.Protocol.Extensions; +using JT808.Protocol.Enums; +using JT808.Protocol.Extensions; using JT808.Protocol.Formatters; using JT808.Protocol.Interfaces; using JT808.Protocol.MessagePack; @@ -39,11 +40,12 @@ namespace JT808.Protocol.MessageBody public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) { - JT808_0x8805 jT808_0X8805 = new JT808_0x8805(); - jT808_0X8805.MultimediaId = reader.ReadUInt32(); - jT808_0X8805.MultimediaDeleted = reader.ReadByte(); - writer.WriteNumber($"[{jT808_0X8805.MultimediaId.ReadNumber()}]多媒体ID", jT808_0X8805.MultimediaId); - writer.WriteNumber($"[{jT808_0X8805.MultimediaDeleted.ReadNumber()}]删除标志", jT808_0X8805.MultimediaDeleted); + JT808_0x8805 value = new JT808_0x8805(); + value.MultimediaId = reader.ReadUInt32(); + value.MultimediaDeleted = reader.ReadByte(); + JT808MultimediaDeleted multimediaDeleted = (JT808MultimediaDeleted)value.MultimediaDeleted; + writer.WriteNumber($"[{value.MultimediaId.ReadNumber()}]多媒体ID", value.MultimediaId); + writer.WriteNumber($"[{value.MultimediaDeleted.ReadNumber()}]删除标志-{multimediaDeleted}", value.MultimediaDeleted); } } }