# 其实两个都有问题

Posted by Honey on July 19, 1999 at 23:38:31:

In Reply to: 总共播放长度的问题 posted by j on July 19, 1999 at 16:24:23:

:
: 我用以下的程式来计算CD的总共播放长度(张惠妹的牵手CD)

: lm = MMControl1.Length And &HFF& '总长度-->分
: ls = (MMControl1.Length And &HFF00&) / &H100& '总长度-->秒
: Form1.Caption = Format$(lm, "00") & "分" & Format$(ls, "00") & "秒"

: 为啥计算出来的长度跟Windows 98内建的CD播放程式的不一样？
: 还是我的程式有误？

: CD播放程式显示的长度 --> 48分03秒
: 程式计算显示的长度 --> 48分07秒

: 我试过很多片CD，程式的显示长度都会比CD播放的多出4、5秒
: 就是没有一片是准的

: 麻烦各位了

: 谢谢

我有拿了几片CD趣试试
当一片CD内有1首歌时 MMControl和播放程式时间差为0
当一片CD内有7首歌时 MMControl和播放程式时间差为3
当一片CD内有12首歌时 MMControl和播放程式时间差为6
当一片CD内有14首歌时 MMControl和播放程式时间差为7
............................你那卷大概有8,9首歌
试了许久不难发现到 当个曲数越多时 时间差越多
当你仔细看一下CD的读取面 会有细细一圈一圈的细线
有点像唱盘 这部分是让CD音响或光碟机分辨 歌曲的界线
问题就出在这里 MMControl视这部分也为歌曲的一部分
而CD播放程式则否 也就是说MMControl读出来结果会比实际值多
而CD播放程式也好不到哪里去 因为太过粗糙了
有些CD后面会标示总时间有多少 通常和CD播放程式会有一段差距
例如 我是用 理查 的Passion In Asia去测试
在CD播放程式为48'44
MMControl为48'50
CD后标示为47'56
Panasonic随身听为48'53
歌兰第的音响为48'53.........
你觉得哪个才是对的呢
因为对于CD音乐的时间并没有很明确的定义
每首歌资料间的狭缝 到底该不该算进去
这才是大问题

Follow Ups:

- 谢了 j 14:56:57 7/20/99 (0)