Ogg 比特流格式由连续页组成。每个页面都有一个带有元数据的标题(页面的校验和,页面的长度等)。一个这样的元数据是页面序列号,它从 0 开始表示流中的第一页,并为每个连续的页面增加 1(允许检查流中是否存在丢失的页面)。
Ogg 流中可以存在的一个页面是 Vorbis 评论页面。此页面包含一个Vorbis 评论块,通常用于编码媒体标签,如标题、艺术家或专辑。
在我正在进行的项目中,我需要能够将 Vorbis 注释添加到 Ogg 文件中。如果评论页面已经存在,编辑评论只需要更改包含它们的页面的元数据(长度、校验和等)。但是如果需要创建评论页面,则需要为其分配适当的序列号,这意味着它之后的每一页都必须增加其序列号。
有什么我遗漏的东西,还是处理添加页面的更好方法?还是更改每个序列号是插入页面的唯一方法?