使用IOCTL_CDROM_READ_TOC_EX
来计算 CD-ROM 轨道的确切长度的一种简单方法是假设音轨具有 2 秒的前间隙,而后跟不同轨道类型的数据轨道具有 2 秒的后间隙。
但不幸的是,情况并非总是如此,例如多区段光盘。
所以我想出了以下方法来计算每个轨道的确切长度:
- 向后读取曲目的开头
- 发出
READ CD
命令读取 Q 子通道 - 只要
INDEX
电流TNO
为零,我们就有效地处于前|后间隙区
这按预期工作,我们可以发现间隙以计算扇区中的确切轨道长度。
然而,这个主题在 SCSI 多媒体命令规范中没有解释,这有点令人惊讶!
问题:
这是计算 CD-ROM 中每个轨道的确切长度的正确方法吗?