@@ -108,11 +108,11 @@ | |||||
<PrivateAssets>all</PrivateAssets> | <PrivateAssets>all</PrivateAssets> | ||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> | ||||
</PackageReference> | </PackageReference> | ||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" /> | |||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" /> | |||||
<PackageReference Include="NETStandard.Library" Version="2.0.3" /> | <PackageReference Include="NETStandard.Library" Version="2.0.3" /> | ||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> | <PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> | ||||
<PackageReference Include="System.Drawing.Common" Version="4.7.0" /> | <PackageReference Include="System.Drawing.Common" Version="4.7.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.1" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.2" /> | |||||
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" /> | <PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" /> | ||||
<PackageReference Include="xunit" Version="2.4.1" /> | <PackageReference Include="xunit" Version="2.4.1" /> | ||||
<PackageReference Include="xunit.runner.console" Version="2.4.1"> | <PackageReference Include="xunit.runner.console" Version="2.4.1"> | ||||
@@ -71,8 +71,8 @@ | |||||
</PackageReference> | </PackageReference> | ||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> | <PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> | ||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.7.0" /> | <PackageReference Include="System.Text.Encoding.CodePages" Version="4.7.0" /> | ||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.1" /> | |||||
<PackageReference Include="System.Text.Json" Version="4.7.0" /> | |||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.2" /> | |||||
<PackageReference Include="System.Text.Json" Version="4.7.1" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -198,6 +198,11 @@ | |||||
电话回拨类型 | 电话回拨类型 | ||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="T:JT808.Protocol.Enums.JT808CameraResolutionType"> | |||||
<summary> | |||||
摄像头分辨率 | |||||
</summary> | |||||
</member> | |||||
<member name="T:JT808.Protocol.Enums.JT808DirectionType"> | <member name="T:JT808.Protocol.Enums.JT808DirectionType"> | ||||
<summary> | <summary> | ||||
方向类型 | 方向类型 | ||||
@@ -6511,14 +6516,7 @@ | |||||
<member name="P:JT808.Protocol.MessageBody.JT808_0x8801.Resolution"> | <member name="P:JT808.Protocol.MessageBody.JT808_0x8801.Resolution"> | ||||
<summary> | <summary> | ||||
分辨率 | 分辨率 | ||||
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]; | |||||
<see cref="T:JT808.Protocol.Enums.JT808CameraResolutionType"/> | |||||
</summary> | </summary> | ||||
</member> | </member> | ||||
<member name="P:JT808.Protocol.MessageBody.JT808_0x8801.VideoQuality"> | <member name="P:JT808.Protocol.MessageBody.JT808_0x8801.VideoQuality"> | ||||
@@ -1,4 +1,5 @@ | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Interfaces; | using JT808.Protocol.Interfaces; | ||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
@@ -69,10 +70,11 @@ namespace JT808.Protocol.MessageBody | |||||
value.EventItemCoding = reader.ReadByte(); | value.EventItemCoding = reader.ReadByte(); | ||||
value.StartTime = reader.ReadDateTime6(); | value.StartTime = reader.ReadDateTime6(); | ||||
value.EndTime = 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.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.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.WriteString($"[{ value.EndTime.ToString("yyMMddHHmmss")}]结束时间", value.EndTime.ToString("yyyy-MM-dd HH:mm:ss")); | ||||
} | } | ||||
@@ -1,4 +1,5 @@ | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Interfaces; | using JT808.Protocol.Interfaces; | ||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
@@ -71,20 +72,22 @@ namespace JT808.Protocol.MessageBody | |||||
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) | 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); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -53,15 +53,34 @@ namespace JT808.Protocol.MessageBody | |||||
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) | 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; | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -1,4 +1,5 @@ | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Interfaces; | using JT808.Protocol.Interfaces; | ||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
@@ -39,11 +40,12 @@ namespace JT808.Protocol.MessageBody | |||||
public void Analyze(ref JT808MessagePackReader reader, Utf8JsonWriter writer, IJT808Config config) | 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); | |||||
} | } | ||||
} | } | ||||
} | } |