我想导出 *.mov-Movie-File 中的每一帧,所以我这样做:
GoToBeginningOfMovie(movie);
TimeValue startPoint = 0;
long gnitFrames = 0;
while (startPoint >= 0) {
GetMovieNextInterestingTime(movie, nextTimeStep, 0, &whichMediaType, startPoint, 0, &startPoint, NULL);
gnitFrames++;
}
问题是,计数与gnitFrames
我调用它时的计数不同(更多):
Track track = GetMovieIndTrack(movie, 1);
Media media = GetTrackMedia(track);
OSType mediatype;
MediaHandler mediahandler = GetMediaHandler(media);
GetMediaHandlerDescription(media, &mediatype, nil, nil);
MediaGetName(mediahandler, medianame, 0, nil);
long nsamples = GetMediaSampleCount(media);
nsamples
给我正确的帧数。所以现在我的问题是:我怎样才能做到一次才能到达电影中的每一帧?(当我调用后现在导出框架时GetNextInterestingTime
,一个框架被导出多次,有时甚至25次)
我的操作系统是Windows XP。