2
如何获取QT电影的时间码开始和持续时间?我发现我必须使用QTKIt,也许QTStringFromSMPTETime,但我无法在网上找到任何示例。快速时间的SMPTE TimeCode
如何获取QT电影的时间码开始和持续时间?我发现我必须使用QTKIt,也许QTStringFromSMPTETime,但我无法在网上找到任何示例。快速时间的SMPTE TimeCode
这里使用QTKit和QuickTime API的一个示例:
QTTrack * tcTrack = [[self.movie tracksOfMediaType:QTMediaTypeTimeCode] objectAtIndex:0];
if (tcTrack != nil) {
QTMedia * media = [tcTrack media];
if (media != nil) {
NSLog(@"sample : %@", [media attributeForKey:QTMediaSampleCountAttribute]);
Media qtMedia = [media quickTimeMedia];
MediaHandler mh = GetMediaHandler(qtMedia);
long frameNum;
TimeCodeDef tcDef;
TimeCodeRecord tcData;
UserData srcRefH;
TCGetTimeCodeAtTime(mh, 0, &frameNum, &tcDef, &tcData, &srcRefH);
// frameNum holds the frame number since 00:00:00:00
// tcData holds the HH:MM:SS:FF data
}
}
任何原因,媒体,MediaHandler,TimeCodeDef,和TimeCodeRecord都产生未声明的标识符错误?即使包含了正确的框架。有这些遗产? – mxisaac
好吧,只是想与人分享。显然,Quicktime API不能以64位模式运行,所以这个示例代码必须以32位运行。希望苹果很快就会更新。 – mxisaac
如果任何人有幸能在64位环境下工作,我会非常感激。 – mxisaac