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