WIP: MusicTransition SyncPoint

This commit is contained in:
2026-04-16 17:55:29 +08:00
parent 91f1b18771
commit dac34089dd
11 changed files with 29 additions and 23 deletions
@@ -108,18 +108,6 @@ public partial class AudioObject : IBinarySerializable
/// </summary>
public bool ContainerPlayMode { get; set; }
/// <summary>
/// 按段落配置每段响应范围,用|分隔不同段落
/// </summary>
public string BlendRanges { get; set; }
/// <summary>
/// 0 = 指数
/// 1 = 线形
/// 2 = 对数
/// </summary>
public BlendCrossFadeType BlendCrossFadeType { get; set; }
/// <summary>
/// 指定避免重复的次数
/// </summary>
@@ -190,8 +178,6 @@ public partial class AudioObject : IBinarySerializable
Haptic = reader.ReadUInt32();
ContainerType = (ContainerType)reader.ReadByte();
ContainerPlayMode = reader.ReadBoolean();
BlendRanges = reader.ReadString();
BlendCrossFadeType = (BlendCrossFadeType)reader.ReadByte();
LimitRepetition = reader.ReadByte();
RandomType = reader.ReadBoolean();
VolumeStepThreshold = reader.ReadUInt32();
@@ -231,8 +217,6 @@ public partial class AudioObject : IBinarySerializable
writer.Write(Haptic);
writer.Write((byte)ContainerType);
writer.Write(ContainerPlayMode);
writer.Write(BlendRanges);
writer.Write((byte)BlendCrossFadeType);
writer.Write(LimitRepetition);
writer.Write(RandomType);
writer.Write(VolumeStepThreshold);
@@ -25,7 +25,8 @@ public partial class MusicContainer : IBinarySerializable
/// <summary>
/// 0 = 随机播放
/// 1 = 顺序播放
/// 2 = 同时播放
/// 2 = 混合播放
/// 3 = 切换播放
/// </summary>
public ContainerType ContainerType { get; set; }
@@ -45,9 +45,20 @@ public partial class MusicTransition : IBinarySerializable
public AlignMode AlignMode { get; set; }
/// <summary>
///
/// 0 = Start
/// 1 = Same Time
/// </summary>
public uint Segment { get; set; }
public SyncPoint SyncPoint { get; set; }
/// <summary>
/// samples
/// </summary>
public uint StartOffset { get; set; }
/// <summary>
/// samples
/// </summary>
public uint EndOffset { get; set; }
public void DeSerialize(BinaryReader reader)
@@ -58,7 +69,9 @@ public partial class MusicTransition : IBinarySerializable
FadeInTime = reader.ReadSingle();
FadeInOffset = reader.ReadSingle();
AlignMode = (AlignMode)reader.ReadByte();
Segment = reader.ReadUInt32();
SyncPoint = (SyncPoint)reader.ReadByte();
StartOffset = reader.ReadUInt32();
EndOffset = reader.ReadUInt32();
}
public void Serialize(BinaryWriter writer)
@@ -69,7 +82,9 @@ public partial class MusicTransition : IBinarySerializable
writer.Write(FadeInTime);
writer.Write(FadeInOffset);
writer.Write((byte)AlignMode);
writer.Write(Segment);
writer.Write((byte)SyncPoint);
writer.Write(StartOffset);
writer.Write(EndOffset);
}
}