2009-12-08 4 views
1

QuickTime 동영상 트랙의 편집 아톰의 내용의 보류를 얻을 방법이 있나요 (예 '의 edts') 일반적으로 그 목록 편집 아톰 (즉 'ELST')의 내용에 특수 QuickTime (C) API를 사용하여?QuickTime 무비 트랙의 편집 원자 내용에 대한 액세스?

목표는 주어진 트랙의 재생 시간과 시작 시간과 함께 수정 사항을 식별하는 것입니다.

저는 지난 2 시간 동안 퀵타임 참조 라이브러리 (레거시 및 현재)를 확인했지만이를 달성하기위한 API를 식별하지 못했습니다.

힌트를 주시면 감사하겠습니다.

건배, 비욘

\

답변

0

내 자신의 질문에 대답하기 : 트랙의 편집 목록의

내용 (있는 경우), 편집 즉/트랙에 존재하는 세그먼트가 결정될 수있다 GetTrackNextInterestingTime() API 함수를 통해 (코드 Movies.h에서 빼낸) : (트랙 편집에 대한

/* 
* GetTrackNextInterestingTime() 
* 
* Availability: 
* Non-Carbon CFM: in QuickTimeLib 2.5 and later 
* CarbonLib:  in CarbonLib 1.0 and later 
* Mac OS X:   in version 10.0 and later 
* Windows:   in qtmlClient.lib 3.0 and later 
*/ 
EXTERN_API(void) 
GetTrackNextInterestingTime(
    Track  theTrack, 
    short  interestingTimeFlags, 
    TimeValue time, 
    Fixed  rate, 
    TimeValue * interestingTime, 
    TimeValue * interestingDuration); 

nextTimeTrackEdit를 전달하여 볼 수 있습니다 s) 및 nextTimeEdgeOK (경계선 경우 포함)은 interestingTimeFlags입니다. 당신은 당신이 트랙의 편집을 검토 있었던 경우 (FE를 반환 interestingTime에 시간 트랙 에서 미디어 시간을지도해야 할 것이다 트랙에 존재 편집에 관심이있을 수있는 대부분의 경우

가능한 트랙 오프셋을 결정한다). TrackTimeToMediaDisplayTime() 것 미디어 시간에 트랙 시간을 변환하는

/* 
* TrackTimeToMediaTime() 
* 
* Availability: 
* Non-Carbon CFM: in QuickTimeLib 2.5 and later 
* CarbonLib:  in CarbonLib 1.0 and later 
* Mac OS X:   in version 10.0 and later 
* Windows:   in qtmlClient.lib 3.0 and later 
*/ 
EXTERN_API(TimeValue) 
TrackTimeToMediaTime(
    TimeValue value, 
    Track  theTrack); 

편집

예술 방법의 상태 :

TrackTimeToMediaTime() API 함수를 통해 수행됩니다

/* 
* TrackTimeToMediaDisplayTime() 
* 
* Summary: 
* Converts a track's time value to a display time value that is 
* appropriate to the track's media, using the track's edit list. 
* This is a 64-bit replacement for TrackTimeToMediaTime. 
* 
* Discussion: 
* This function maps the track time through the track's edit list 
* to come up with the media time. This time value contains the 
* track's time value according to the media's time coordinate 
* system. If the time you specified lies outside of the movie's 
* active segment or corresponds to empty space in the track, this 
* function returns a value of -1. Hence you can use it to determine 
* whether a specified track edit is empty. 
* 
* Parameters: 
*  
* value: 
*  The track's time value; must be expressed in the time scale of 
*  the movie that contains the track. 
*  
* theTrack: 
*  The track for this operation. Your application obtains this 
*  track identifier from such functions as NewMovieTrack and 
*  GetMovieTrack. 
* 
* Result: 
* The corresponding time in media display time, in the media's time 
* coordinate system. If the track time corresponds to empty space, 
* this function returns a value of -1. 
* 
* Availability: 
* Non-Carbon CFM: not available 
* CarbonLib:  not available 
* Mac OS X:   in version 10.4 (or QuickTime 7.0) and later 
* Windows:   in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later 
*/ 
EXTERN_API(TimeValue64) 
TrackTimeToMediaDisplayTime(
    TimeValue64 value, 
    Track   theTrack); 
관련 문제