CMTime 時間の表現 †時間を int64_t / int32_t という有理数で表す var time1: CMTime = CMTimeMake(200, 2) // 200 * 1/2 seconds var time2: CMtime = CMTimeMake(400, 4) // 400 * 1/4 seconds if CMTImeCompare(time1, time2) == 0) { print("same") } let float64Seconds: Float64 = 200.0 / 3 var time3 = CMTimeMultiply(time3, 3) // 66.6 * 1/3 seconds time3 = CMTimeSubtract(time3, tim1) CMTimeの特殊な値 CMTIme出は時間として無効な値を表すことができるが、有効か否か、非数値かはマクロ (CMTIME_IS_INVALID, CMTIME_IS_POSITIVE_INFINITY, CMTIME_IS_INDEFINITE) などを使う (Objective-C) 。 任意のCMTime構造体の値を kCMTimeInvalid? と比較してはいけない。 //[Objective-C] CMTime time = ... if (CMTIME_IS_INVALID(myTime)) pirnt("invalid") 注釈またはCOre FoundationコンテナでCMTIme構造体を使用する場合hあ、CMTime構造体と CFDictionary不透過型を相互に変換すること。
CMTime構造体のエポック番号は通常0であるが、これを使用してタイムラインを区別することができる。 表示ループを1回遠すたびにエポックを増やすことで、ループ0の時間tと、ループ1の時間tを区別できる。 CMTimeRange? 時間範囲を表す
時間範囲の操舵 |