using JT1078.FMp4.MessagePack; using System; using System.Collections.Generic; using System.Text; using Xunit; using JT1078.Protocol.Extensions; using JT1078.FMp4.Enums; namespace JT1078.FMp4.Test.Boxs { public class HandlerBox_Test { /// /// 使用doc/video/demo.mp4 /// [Fact] public void Test1() { //00 00 00 35--box size //68 64 6c 72--box type hdlr //00--version //00 00 00--flags //00 00 00 00--pre_defined //73 6f 75 6e--handler_type //00 00 00 00--reserved3 - 1 //00 00 00 00--reserved3 - 2 //00 00 00 00--reserved3 - 3 //42 65 6e 74 6f 34 20 53 6f 75 6e 64 20 48 61 6e 64 6c 65 72 00--Name HandlerBox handlerBox = new HandlerBox(version:0,flags:0); handlerBox.HandlerType = HandlerType.soun; handlerBox.Name = Encoding.UTF8.GetString("42 65 6e 74 6f 34 20 53 6f 75 6e 64 20 48 61 6e 64 6c 65 72 00".ToHexBytes()); FMp4MessagePackWriter writer = new MessagePack.FMp4MessagePackWriter(new byte[0x35]); handlerBox.ToBuffer(ref writer); var hex = writer.FlushAndGetArray().ToHexString(); Assert.Equal("0000003568646c720000000000000000736f756e00000000000000000000000042656e746f3420536f756e642048616e646c657200".ToUpper(), hex); } } }