ID3V2.3,ETCO帧事件格式说明

ID3V2.3, ETCO Frame Event Format Clarification

按照非正式标准,一个ETCO帧是帧头(十个字节),后面是时间戳格式(一个字节)。然后是一系列事件,形式为"Type of Event, Time Stamp"(事件类型是一个字节,而时间戳 是每个事件五个字节)。

如何才能算出有多少个事件?程序是否需要使用帧头的大小字段?

如果所有事件的长度都是五个字节,那么 0xFF 事件的目的是什么,其目的是 "One more byte of event follows"?

来源:http://id3.org/id3v2.3.0#sec4.6

  1. 是的,您必须解析整个帧才能找到答案。估计 (size of frame) minus (header size), divided by 5 会给你最可能的两者计数,但实际上可能会发生更多的事件和更少的时间戳。
  2. 我自己从未遇到过这种情况,但假设它是为了将具有相同时间戳的多个事件组合起来。字节 $FF$FF[=12=]D 可能会发生,而不是只有一个事件(即 [=11=]D 不需要的噪音),这表明接下来还有两个字节=事件(即结尾结束,诗歌开始,不需要的噪音 - 全部在相同的时间戳,然后是其 4 个字节)。