用ARJ截取VCD上电影片断的简单程序

Author: 徐林清 Date: 1997-01-01

  《电脑报》第10期和第13期24版上介绍的截取VCD电影片段的方法虽然很好,但比较麻烦,要找出原文件字节数、找开始时间和结束时间,还要套入公式计算。本人利用上述方法,编写了一段QUICK BASIC程序,仅需输入开始时间和结束时间即可实现上述功能。使用方法:
  1.将程序编译生成一个EXE文件(如CUTVCD.EXE)并和ARJ一起放入一个适当的目录,使得在任何目录中都可使用它们。
  2.需要截取VCD时,键入CUTVCD VCD-file NEW-file(其中VCD-file为原VCD文件名,NEW-file为将要生成的电影片段文件名。)然后按提示输入开始时间和结束时间(均为秒),当出现“OK to process next volume?”时键“N”即告完成(可不理会后面的错误信息提示);若键入“Y”则可截取与本段长度相同的下一个片段。
  应注意的是,如果原VCD文件已经用VCDCOPY复制到了硬盘上,则第二步无需进入Windows环境,在DOS下即可完成;但如果原VCD文件还位于光盘上,则象《电脑报》13期俞先生所指出的那样,本步骤应在Win95的MS-DOS窗口下进行。
#2  程序清单:
  ON ERROR GOTO E
  f$=COMMAND$
  IF f$="" THEN GOTO E
  f1$=LEFT$(f$,INSTR(f$,""))
  f2$=LTRIM$(RIGHT$(f$,LEN(f$)-LEN(f1$)))
  OPEN "I",#1,f1$
  Z#=LOF(1)
  CLOSE
  INPUT "Start from(s):",D
  INPUT "End at(s):",E
  IF E=0 THEN END
  T#=Z#/178359
  JXQ$="-JX"+LTRIM$(STR$(D*Z#/T#))
  VC$="-V"+LTRIM$(STR$((E-D)*Z#/T#))
  SHELL "ARJ A -M0"+VC$+JXQ$+""+f2$+""+f1$
  END
  E:
  PRINT "Usage:CUTVCD VCD-file NEW-file"
  END