Ссылка CMTime
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreMedia
Objective C
@import CoreMedia;
Этот документ описывает API для создания и управления CMTime структуры.
CMTime структуры являются ненепрозрачными непостоянными структурами, представляющими времена (или метки времени или продолжительности).
A CMTime представлен как рациональное число, с числителем ( int64_t значение), и знаменатель ( int32_t масштаб времени). Концептуально, масштаб времени указывает часть секунды, которую занимает каждый модуль в числителе. Таким образом, если масштаб времени равняется 4, каждый модуль представляет четверть секунды; если масштаб времени равняется 10, каждый модуль представляет одну десятую секунды и т.д. В дополнение к простой временной стоимости CMTime может представлять нечисловые значения: +infinity, - бесконечность, и неопределенный. Используя флаг CMTime указывает, округлилось ли время в некоторый момент.
CMTimes содержите номер эпохи, который обычно определяется к 0, но может использоваться для различения несвязанных временных шкал: например, это могло быть постепенно увеличено каждый раз через цикл представления, для дифференциации между временем N в цикле 0 со времени N в цикле 1.
Можно преобразовать CMTimes к и от неизменного CFDictionaries (см. CFDictionaryRef) использование CMTimeCopyAsDictionary и CMTimeMakeFromDictionary, для использования в аннотациях и различных Базовых контейнерах Основы.
Дополнительные функции для управления датами и временем описаны в Ссылке Утилит времени. Обратите внимание на то, что CMTime разработан для временных шкал носителей тогда как функции в Time Utilities Reference разработаны для работы с тактовым стеной временем в Базовой платформе Основы; см. также Ссылку Констант Основы AV.
-
Делает допустимое
CMTimeсо значением и масштабом времени. Эпоха подразумевается, чтобы быть 0.Объявление
Swift
func CMTimeMake(_value: Int64, _timescale: Int32) -> CMTimeObjective C
CMTime CMTimeMake ( int64_t value, int32_t timescale );Параметры
valueИнициализирует поле значения получающегося
CMTime.timescaleИнициализирует поле масштаба времени получающегося
CMTime.Возвращаемое значение
Получающееся
CMTimeОператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Перераспределяет a
CMTimeструктура от aCFDictionaryранее создаваемыйCMTimeCopyAsDictionary.Объявление
Swift
func CMTimeMakeFromDictionary(_dict: CFDictionary!) -> CMTimeObjective C
CMTime CMTimeMakeFromDictionary ( CFDictionaryRef dict );Параметры
dictCFDictionaryиз которого можно создатьCMTime.Возвращаемое значение
Создаваемый
CMTime.Обсуждение
Для ключей в словаре посмотрите Ключи Словаря.
Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Делает допустимое
CMTimeсо значением, масштабом и эпоха.Объявление
Swift
func CMTimeMakeWithEpoch(_value: Int64, _timescale: Int32, _epoch: Int64) -> CMTimeObjective C
CMTime CMTimeMakeWithEpoch ( int64_t value, int32_t timescale, int64_t epoch );Параметры
valueИнициализирует поле значения получающегося
CMTime.timescaleИнициализирует поле масштаба получающегося
CMTime.epochИнициализирует поле эпохи получающегося
CMTime.Возвращаемое значение
Получающееся
CMTime.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Делает a
CMTimeот числа Float64 секунд и предпочтительного масштаба времени.Объявление
Swift
func CMTimeMakeWithSeconds(_seconds: Float64, _preferredTimeScale: Int32) -> CMTimeObjective C
CMTime CMTimeMakeWithSeconds ( Float64 seconds, int32_t preferredTimeScale );Параметры
secondsИнициализирует
secondsполе получающегосяCMTime.preferredTimeScaleИнициализирует
preferredTimeScaleполе получающегосяCMTime.Возвращаемое значение
Получающееся
CMTime.Обсуждение
Эпоха результата будет нулем. Если
preferredTimeScale<= 0, результатом будет недопустимоеCMTime. Если предпочтительный масштаб времени вызовет переполнение, масштаб времени будет неоднократно делиться на два, пока переполнение не уходит, или масштаб времени равняется 1. Если это все еще переполнится в той точке, то результат будет +/-бесконечность.kCMTimeFlags_HasBeenRoundedесли результат, когда преобразовано назад к секундам, не будет точно равен исходному значению секунд, флаг будет установлен.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает абсолютное значение a
CMTime.Объявление
Параметры
timeA
CMTime.Возвращаемое значение
То же как время параметра, со знаком, инвертированным, если отрицательный.
Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает сумму два
CMTimes.Объявление
Параметры
addend1CMTimeбыть добавленным.addend2Другой
CMTimeбыть добавленным.Возвращаемое значение
Сумма двух CMTimes (addend1 + addend2).
Обсуждение
Если операнды оба будут иметь тот же масштаб времени, то масштаб времени результата совпадет с масштабом времени операндов. Если операнды будут иметь различные масштабы времени, то масштаб времени результата будет наименьшим общим кратным масштабов времени операндов. Если, что масштаб времени LCM больше, чем
kCMTimeMaxTimescale, масштаб времени результата будетkCMTimeMaxTimescale, и значение по умолчанию, округляющееся, будет применено при преобразовании результата в этот масштаб времени. Если значение результата переполнится, то масштаб времени результата будет неоднократно делиться на два, пока значение результата больше не переполняется. Снова, значение по умолчанию, округляющееся, будет применено при преобразовании результата в этот масштаб времени. Если значение результата все еще переполнится, когда масштаб времени == 1, то результатом будет или положительная или отрицательная бесконечность, в зависимости от направления переполнения.Если какое-либо округление происходит по какой-либо причине, результат
kCMTimeFlags_HasBeenRoundedфлаг будет установлен. Если любой из операндов будет иметь, этот флаг будет также установленkCMTimeFlags_HasBeenRoundedнабор. Если любой из операндов будет недопустим, то результат будет недопустим. Если операнды будут допустимы, но всего один операнд бесконечен, то результат будет столь же бесконечен. Если операнды будут допустимы, и оба бесконечны, то результаты будут следующие:+infinity + +infinity == +infinity
- бесконечность + - бесконечность == - бесконечность
+infinity + - бесконечность == недопустимый
- бесконечность + +infinity == недопустимый
Если операнды будут допустимы, весьма конечны, и или или оба неопределенны, то результат будет неопределенен. Если эти два операнда будут числовыми (т.е. допустимыми, весьма конечными, весьма определенными), но имейте различные ненулевые эпохи, то результат будет недопустим. Если у них будет та же ненулевая эпоха, то результат будет иметь нуль эпохи (продолжительность). Времена в различные эпохи не могут быть добавлены или вычтены, потому что продолжительность эпохи неизвестна. Времена в нуле эпохи считаются продолжительностями и могут быть добавлены ко временам в другие эпохи. Времена в различные эпохи могут быть сравнены, однако, потому что численно большие эпохи всегда происходят после численно меньших эпох.
Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает числовое отношение два
CMTimes.Объявление
Параметры
time1Сначала
CMTimeв сравнении.time2Второй
CMTimeв сравнении.Возвращаемое значение
Числовое отношение двух CMTimes.
- 1 возвращается если
time1меньше, чемtime2.1 возвращается если
time1больше, чемtime2.0 возвращается если
time1иtime2равны.
Обсуждение
При сравнении
CMTimes, рекомендуется использоватьCMTIME_COMPARE_INLINEмакрос, так как это делает выражения сравнения намного больше читаемыми путем помещения работы сравнения между операндами.Если два
CMTimesявляются числовыми (т.е. весьма допустимыми, бесконечными, или неопределенными), и имейте различные эпохи, считается, что времена в численно большие эпохи всегда больше, чем времена в численно меньшие эпохи. Так как эта подпрограмма привыкнет к спискам вида ко времени, она должна дать все значения (даже недопустимые и неопределенные) строгое упорядочивание, чтобы гарантировать этому алгоритмы сортировки, оконечные безопасно. Выбранный порядок несколько произволен: - бесконечность <все конечные значения <неопределенный <+infinity <недопустимыйНедопустимый
CMTimesсчитаются равными другому недопустимомуCMTimes, и больше, чем кто-либо другойCMTime. Положительная бесконечность считается меньше, чем кто-либо недопустимыйCMTime, равняйтесь себе, и больше, чем кто-либо другойCMTime. НеопределенноеCMTimeсчитается меньше, чем кто-либо недопустимыйCMTime, меньше, чем положительная бесконечность, равняйтесь себе, и больше, чем кто-либо другойCMTime. Отрицательная бесконечность считается равной себе и меньше, чем кто-либо другойCMTime.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает новое
CMTimeсодержа источникCMTimeпреобразованный в новый масштаб времени (округление в соответствии с требованиями).Объявление
Swift
func CMTimeConvertScale(_time: CMTime, _newTimescale: Int32, _method: CMTimeRoundingMethod) -> CMTimeObjective C
CMTime CMTimeConvertScale ( CMTime time, int32_t newTimescale, CMTimeRoundingMethod method );Параметры
timeИсточник CMTime.
newTimescaleМасштаб времени тот, к который источник
CMTimeпреобразовывается.methodВызванный метод округления.
Возвращаемое значение
Преобразованное
CMTime.Обсуждение
Если значение должно быть округлено,
kCMTimeFlags_HasBeenRoundedфлаг будет установлен. См. определениеCMTimeRoundingMethodдля обсуждения различных доступных методов округления. Если исходное время будет нечисловым (т.е. бесконечным, неопределенным, недопустимым), то результат будет столь же нечисловым.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвраты a
CFDictionaryверсия aCMTime.Объявление
Swift
func CMTimeCopyAsDictionary(_time: CMTime, _allocator: CFAllocator!) -> CFDictionary!Objective C
CFDictionaryRef CMTimeCopyAsDictionary ( CMTime time, CFAllocatorRef allocator );Параметры
timeCMTimeиз которого можно создать словарь.allocatorCFAllocatorс которым можно создать словарь. ПередачаkCFAllocatorDefaultиспользовать средство выделения по умолчанию.Возвращаемое значение
A
CFDictionaryверсияCMTime.Обсуждение
Это полезно при помещении
CMTimesв Базовых типах контейнера Основы. Для ключей в получающемся словаре посмотрите Ключи Словаря.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Создает a
CFStringс описанием aCMTime(ПодобныйCFCopyDescription).Объявление
Swift
func CMTimeCopyDescription(_allocator: CFAllocator!, _time: CMTime) -> CFString!Objective C
CFStringRef CMTimeCopyDescription ( CFAllocatorRef allocator, CMTime time );Параметры
allocatorCFAllocatorс которым можно создать описание. ПередачаkCFAllocatorDefaultиспользовать средство выделения по умолчанию.timeCMTimeбыть описанным.Возвращаемое значение
Создаваемый
CFStringописание.Обсуждение
Это используется из
CFShowна содержащем объектеCMTimeполя. Это также полезно от другого клиента, отлаживающего код. Вызывающей стороне принадлежит возвращенныйCFString, и ответственно за выпуск его.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Преобразовывает a
CMTimeк секундам.Объявление
Swift
func CMTimeGetSeconds(_time: CMTime) -> Float64Objective C
Float64 CMTimeGetSeconds ( CMTime time );Параметры
timeCMTimeбыть преобразованным.Возвращаемое значение
Получающееся число Float64 секунд.
Обсуждение
Если
CMTimeнедопустимо или неопределенен, NaN возвращается. ЕслиCMTimeбесконечно, +/-бесконечность возвращается. ЕслиCMTimeявляется числовым, эпоха проигнорирована, и time.value / time.timescale возвращается. Подразделение сделано в Float64, таким образом, часть не потеряна в возвращенном результате.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает большие из два
CMTimes(как определеноCMTimeCompare).Объявление
Параметры
time1A
CMTime.time2Другой
CMTime.Возвращаемое значение
Большие из двух
CMTimes.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает меньшие из двух CMTimes (как определено
CMTimeCompare).Объявление
Параметры
time1A
CMTime.time2Другой
CMTime.Возвращаемое значение
Меньшие из двух
CMTimes.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает продукт CMTime и 32-разрядного целого числа.
Объявление
Параметры
timeCMTimeэто будет умножено.multiplier32-разрядное целое число.
CMTime timeиmultiplierбудет умножен.Возвращаемое значение
Продукт
CMTimeи 32-разрядное целое число.Обсуждение
Результат будет иметь тот же масштаб времени как
CMTimeоперанд. Если значение результата переполнится, то масштаб времени результата будет неоднократно делиться на два, пока значение результата больше не переполняется. Снова, значение по умолчанию, округляющееся, будет применено при преобразовании результата в этот масштаб времени. Если значение результата все еще переполнится, когда масштаб времени == 1, то результатом будет или положительная или отрицательная бесконечность, в зависимости от направления переполнения. Если какое-либо округление происходит по какой-либо причине, результатkCMTimeFlags_HasBeenRoundedфлаг будет установлен. Этот флаг будет также установлен еслиCMTimeоперанд имеетkCMTimeFlags_HasBeenRoundedнабор. ЕслиCMTimeоперанд недопустим, результат будет недопустим. ЕслиCMTimeоперанд допустим, но бесконечен, результат будет бесконечен, и надлежащего знака, даст знаки обоих операндов. ЕслиCMTimeоперанд допустим, но неопределенен, результат будет неопределенен.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает продукт a
CMTimeи 64-разрядное плавание.Объявление
Параметры
timeCMTimeэто будет умножено.multiplier64-разрядное плавание.
CMTime timeиmultiplierбудет умножен.Возвращаемое значение
Продукт
CMTimeи 64-разрядное плавание.Обсуждение
Результат будет первоначально иметь тот же масштаб времени как операнд CMTime. Если масштаб времени результата будет меньше чем 65 536, то он будет неоднократно удваиваться, пока это не будут по крайней мере 65 536. Если значение результата переполнится, то масштаб времени результата будет неоднократно делиться на два, пока значение результата больше не переполняется. Снова, значение по умолчанию, округляющееся, будет применено при преобразовании результата в этот масштаб времени. Если значение результата все еще переполнится, когда масштаб времени == 1, то результатом будет или положительная или отрицательная бесконечность, в зависимости от направления переполнения. Если какое-либо округление происходит по какой-либо причине, результат
kCMTimeFlags_HasBeenRoundedфлаг будет установлен. Этот флаг будет также установлен еслиCMTimeоперанд имеетkCMTimeFlags_HasBeenRoundedнабор. ЕслиCMTimeоперанд недопустим, результат будет недопустим. ЕслиCMTimeоперанд допустим, но бесконечен, результат будет бесконечен, и надлежащего знака учитывая знаки обоих операндов. ЕслиCMTimeоперанд допустим, но неопределенен, результат будет неопределенен.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Распечатывает описание
CMTime(ПодобныйCFShow).Параметры
timeCMTimeпоказать.Обсуждение
Это является самым полезным из gdb.
Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает различие два
CMTimes.Объявление
Параметры
minuendCMTimeиз которого будет вычтено вычитаемое.subtrahendCMTimeэто будет вычтено из уменьшаемого.Возвращаемое значение
Различие двух CMTimes (уменьшаемое - вычитаемое).
Обсуждение
Если операнды оба будут иметь тот же масштаб времени, то масштаб времени результата совпадет с масштабом времени операндов. Если операнды будут иметь различные масштабы времени, то масштаб времени результата будет наименьшим общим кратным масштабов времени операндов. Если, что масштаб времени LCM больше, чем
kCMTimeMaxTimescale, масштаб времени результата будетkCMTimeMaxTimescale, и значение по умолчанию, округляющееся, будет применено при преобразовании результата в этот масштаб времени.Если значение результата переполнится, то масштаб времени результата будет неоднократно делиться на два, пока значение результата больше не переполняется. Снова, значение по умолчанию, округляющееся, будет применено при преобразовании результата в этот масштаб времени. Если значение результата все еще переполнится, когда масштаб времени == 1, то результатом будет или положительная или отрицательная бесконечность, в зависимости от направления переполнения.
Если какое-либо округление происходит по какой-либо причине, результат
kCMTimeFlags_HasBeenRoundedфлаг будет установлен. Если любой из операндов будет иметь, этот флаг будет также установленkCMTimeFlags_HasBeenRoundedнабор. Если любой из операндов будет недопустим, то результат будет недопустим. Если операнды будут допустимы, но всего один операнд бесконечен, то результат будет столь же бесконечен. Если операнды будут допустимы, и оба бесконечны, то результаты будут следующие:+infinity - +infinity == недопустимый
- бесконечность - бесконечность == недопустимый
+infinity - бесконечность == +infinity
- бесконечность - +infinity == - бесконечность
Если операнды будут допустимы, весьма конечны, и или или оба неопределенны, то результат будет неопределенен. Если эти два операнда будут числовыми (т.е. допустимыми, весьма конечными, весьма определенными), но имейте различные ненулевые эпохи, то результат будет недопустим. Если у них будет та же ненулевая эпоха, то результат будет иметь нуль эпохи (продолжительность). Времена в различные эпохи не могут быть добавлены или вычтены, потому что продолжительность эпохи неизвестна. Времена в нуле эпохи считаются продолжительностями и могут быть вычтены со времен в другие эпохи. Времена в различные эпохи могут быть сравнены, однако, потому что численно большие эпохи всегда происходят после численно меньших эпох.
Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, является ли указанное сравнение двух CMTimes истиной.
Объявление
Objective C
#define CMTIME_COMPARE_INLINE(time1, comparator, time2) ((Boolean)(CMTimeCompare(time1, time2) comparator 0))Обсуждение
Например:
CMTIME_COMPARE_INLINE(time1, <=, time2)
возвратит true если time1 <= time2.
Оператор импорта
Objective C
@import CoreMedia;Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, допустимо ли данное время.
Объявление
Objective C
#define CMTIME_IS_VALID(time) ((Boolean)(((time).flags & kCMTimeFlags_Valid) != 0))Возвращаемое значение
trueеслиCMTimeдопустимо, иначеfalse.Оператор импорта
Objective C
@import CoreMedia;Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, недопустимо ли данное время.
Объявление
Objective C
#define CMTIME_IS_INVALID(time) (! CMTIME_IS_VALID(time))Возвращаемое значение
trueеслиCMTimeнедопустимо, иначеfalse.Оператор импорта
Objective C
@import CoreMedia;Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, является ли данное время положительной бесконечностью.
Объявление
Objective C
#define CMTIME_IS_POSITIVE_INFINITY(time) ((Boolean)(CMTIME_IS_VALID(time) && (((time).flags & kCMTimeFlags_PositiveInfinity) != 0)))Возвращаемое значение
trueеслиCMTimeположительная бесконечность, иначеfalse.Обсуждение
Используйте это вместо
(myTime == kCMTimePositiveInfinity), с тех пор существует много структур CMTime, представляющих положительную бесконечность. Это вызвано тем, что поля нефлагов проигнорированы, таким образом, они могут содержать что-либо.Оператор импорта
Objective C
@import CoreMedia;Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, является ли данное время отрицательной бесконечностью.
Объявление
Objective C
#define CMTIME_IS_NEGATIVE_INFINITY(time) ((Boolean)(CMTIME_IS_VALID(time) && (((time).flags & kCMTimeFlags_NegativeInfinity) != 0)))Возвращаемое значение
trueеслиCMTimeотрицательная бесконечность, иначеfalse.Обсуждение
Используйте это вместо
(myTime == kCMTimeNegativeInfinity), с тех пор существует много структур CMTime, представляющих положительную бесконечность. Это вызвано тем, что поля нефлагов проигнорированы, таким образом, они могут содержать что-либо.Оператор импорта
Objective C
@import CoreMedia;Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, неопределенно ли данное время.
Объявление
Objective C
#define CMTIME_IS_INDEFINITE(time) ((Boolean)(CMTIME_IS_VALID(time) && (((time).flags & kCMTimeFlags_Indefinite) != 0)))Возвращаемое значение
trueеслиCMTimeнеопределенно, иначеfalse.Оператор импорта
Objective C
@import CoreMedia;Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, является ли данное время числовым.
Объявление
Objective C
#define CMTIME_IS_NUMERIC(time) ((Boolean)(((time).flags & (kCMTimeFlags_Valid | kCMTimeFlags_ImpliedValueFlagsMask)) == kCMTimeFlags_Valid))Возвращаемое значение
trueеслиCMTimeявляется числовым, иначеfalse. ВозвратыfalseеслиCMTimeнедопустимо, неопределенен, или +/-бесконечность.Обсуждение
Числовое время содержит применимое значение/масштаб времени/эпоху.
Оператор импорта
Objective C
@import CoreMedia;Доступность
Доступный в iOS 4.0 и позже.
-
Возвращает булево значение, указывающее, было ли округлено данное время.
Объявление
Objective C
#define CMTIME_HAS_BEEN_ROUNDED(time) ((Boolean)(CMTIME_IS_NUMERIC(time) && (((time).flags & kCMTimeFlags_HasBeenRounded) != 0)))Возвращаемое значение
trueеслиCMTimeбыл округлен, иначеfalse(время абсолютно точно).Оператор импорта
Objective C
@import CoreMedia;Доступность
Доступный в iOS 4.0 и позже.
-
Определяет структуру, представляющую рациональную временную стоимость
int64/int32.Объявление
Swift
struct CMTime { var value: CMTimeValue var timescale: CMTimeScale var flags: CMTimeFlags var epoch: CMTimeEpoch init() init(valuevalue: CMTimeValue, timescaletimescale: CMTimeScale, flagsflags: CMTimeFlags, epochepoch: CMTimeEpoch) }Objective C
typedef struct { CMTimeValue value; CMTimeScale timescale; CMTimeFlags flags; CMTimeEpoch epoch; } CMTime;Поля
valueЗначение CMTime.
value/timescale= секунды.timescaleМасштаб времени CMTime.
value/timescale= секунды.flagsБитовое поле, представляющее флаги, установлено для CMTime.
Например,
kCMTimeFlags_Valid. См. Флаги CMTime для возможных значений.epochЭпоха CMTime.
Вы используете эпоху для дифференциации между равными метками времени, фактически отличающимися из-за цикличного выполнения, упорядочивания мультиэлемента, и т.д.
Эпоха используется во время сравнения: большие эпохи происходят после меньших. Дополнение или вычитание только возможны в течение единственной эпохи, однако, так как продолжительность эпохи может быть неизвестной или переменной.
Доступность
Доступный в iOS 4.0 и позже.
-
Числитель рациональных
CMTime.Объявление
Swift
typealias CMTimeValue = Int64Objective C
typedef int64_t CMTimeValue;Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Знаменатель рациональных
CMTime.Объявление
Swift
typealias CMTimeScale = Int32Objective C
typedef int32_t CMTimeScale;Обсуждение
Масштабы времени должны быть положительными.
Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Эпоха та, к который a
CMTimeотносится.Объявление
Swift
typealias CMTimeEpoch = Int64Objective C
typedef int64_t CMTimeEpoch;Обсуждение
Эпоха обычно
0, но Вы могли бы использовать различное значение, например, в цикле.Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Тип для указания флаговых битов для a
CMTime.Объявление
Swift
struct CMTimeFlags : RawOptionSetType { init(_rawValue: UInt32) init(rawValuerawValue: UInt32) static var Valid: CMTimeFlags { get } static var HasBeenRounded: CMTimeFlags { get } static var PositiveInfinity: CMTimeFlags { get } static var NegativeInfinity: CMTimeFlags { get } static var Indefinite: CMTimeFlags { get } static var ImpliedValueFlagsMask: CMTimeFlags { get } }Objective C
typedef uint32_t CMTimeFlags;Обсуждение
Для возможных значений см. Флаги CMTime.
Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Введите для констант, используемых для указания метода округления для использования при вычислениях
time.valueво время преобразований масштаба времени.Объявление
Swift
enum CMTimeRoundingMethod : UInt32 { case RoundHalfAwayFromZero case RoundTowardZero case RoundAwayFromZero case QuickTime case RoundTowardPositiveInfinity case RoundTowardNegativeInfinity }Objective C
typedef uint32_t CMTimeRoundingMethod;Обсуждение
Для возможных значений посмотрите Округление Методов.
Оператор импорта
Objective C
@import CoreMedia;Swift
import CoreMediaДоступность
Доступный в iOS 4.0 и позже.
-
Константы для инициализации
CMTimeструктуры.Объявление
Swift
let kCMTimeInvalid: CMTime let kCMTimeIndefinite: CMTime let kCMTimePositiveInfinity: CMTime let kCMTimeNegativeInfinity: CMTime let kCMTimeZero: CMTimeObjective C
const CMTime kCMTimeInvalid; const CMTime kCMTimeIndefinite; const CMTime kCMTimePositiveInfinity; const CMTime kCMTimeNegativeInfinity; const CMTime kCMTimeZero;Константы
-
kCMTimeInvalidИспользуйте эту константу для инициализации недопустимого
CMTime.Все поля 0, таким образом, Вы можете
callocили заливка с0сделать многие из них. Не тестируйте против этого использования(time == kCMTimeInvalid), существуют многиеCMTimesкроме этого, которые также недопустимы. ИспользоватьCMTIME_IS_INVALID(time)вместо этого.Доступный в iOS 4.0 и позже.
-
kCMTimeIndefiniteИспользуйте эту константу для инициализации неопределенного
CMTime(например, продолжительность прямого репортажа).Не тестируйте против этого использования
(time == kCMTimeIndefinite), существует много CMTimes кроме этого, которые также неопределенны. ИспользоватьCMTIME_IS_INDEFINITE(time)вместо этого.Доступный в iOS 4.0 и позже.
-
kCMTimePositiveInfinityИспользуйте эту константу для инициализации a
CMTimeк +infinity.Не тестируйте против этого использования
(time == kCMTimePositiveInfinity), существует много CMTimes кроме этого, которые являются также +infinity. ИспользоватьCMTIME_IS_POSITIVE_INFINITY(time)вместо этого.Доступный в iOS 4.0 и позже.
-
kCMTimeNegativeInfinityИспользуйте эту константу для инициализации a
CMTimeк - бесконечность.Не тестируйте против этого использования
(time == kCMTimeNegativeInfinity), существует много CMTimes кроме этого, которые являются также - бесконечность. ИспользоватьCMTIME_IS_NEGATIVE_INFINITY(time)вместо этого.Доступный в iOS 4.0 и позже.
-
kCMTimeZeroИспользуйте эту константу для инициализации a
CMTimeк 0.Не тестируйте против этого использования
(time == kCMTimeZero), существует много CMTimes кроме этого, которые являются также 0. ИспользоватьCMTimeCompare(time, kCMTimeZero)вместо этого.Доступный в iOS 4.0 и позже.
-
-
Константы для указания флагов для
CMTime.Объявление
Swift
struct CMTimeFlags : RawOptionSetType { init(_rawValue: UInt32) init(rawValuerawValue: UInt32) static var Valid: CMTimeFlags { get } static var HasBeenRounded: CMTimeFlags { get } static var PositiveInfinity: CMTimeFlags { get } static var NegativeInfinity: CMTimeFlags { get } static var Indefinite: CMTimeFlags { get } static var ImpliedValueFlagsMask: CMTimeFlags { get } }Objective C
enum { kCMTimeFlags_Valid = 1UL<<0, kCMTimeFlags_HasBeenRounded = 1UL<<1, kCMTimeFlags_PositiveInfinity = 1UL<<2, kCMTimeFlags_NegativeInfinity = 1UL<<3, kCMTimeFlags_Indefinite = 1UL<<4, kCMTimeFlags_ImpliedValueFlagsMask = kCMTimeFlags_PositiveInfinity | kCMTimeFlags_NegativeInfinity | kCMTimeFlags_Indefinite };Константы
-
ValidkCMTimeFlags_ValidУказывает, что время допустимо.
Доступный в iOS 4.0 и позже.
-
HasBeenRoundedkCMTimeFlags_HasBeenRoundedУказывает, что было округлено время.
Доступный в iOS 4.0 и позже.
-
PositiveInfinitykCMTimeFlags_PositiveInfinityУказывает, что время является +infinity.
Доступный в iOS 4.0 и позже.
-
NegativeInfinitykCMTimeFlags_NegativeInfinityУказывает, что время - бесконечность.
Доступный в iOS 4.0 и позже.
-
IndefinitekCMTimeFlags_IndefiniteУказывает, что время неопределенно.
Доступный в iOS 4.0 и позже.
-
ImpliedValueFlagsMaskkCMTimeFlags_ImpliedValueFlagsMaskУказывает, что время является +infinity, - бесконечность, или неопределенный.
Доступный в iOS 4.0 и позже.
-
-
Константа для определения максимального масштаба времени.
Объявление
Swift
var kCMTimeMaxTimescale: Int { get }Objective C
#define kCMTimeMaxTimescale 0x7fffffffLКонстанты
-
Константы раньше указывали метод округления для использования при вычислениях
time.valueво время преобразований масштаба времени.Объявление
Swift
enum CMTimeRoundingMethod : UInt32 { case RoundHalfAwayFromZero case RoundTowardZero case RoundAwayFromZero case QuickTime case RoundTowardPositiveInfinity case RoundTowardNegativeInfinity }Objective C
enum { kCMTimeRoundingMethod_RoundHalfAwayFromZero = 1, kCMTimeRoundingMethod_RoundTowardZero = 2, kCMTimeRoundingMethod_RoundAwayFromZero = 3, kCMTimeRoundingMethod_QuickTime = 4, kCMTimeRoundingMethod_RoundTowardPositiveInfinity = 5, kCMTimeRoundingMethod_RoundTowardNegativeInfinity = 6, kCMTimeRoundingMethod_Default = kCMTimeRoundingMethod_RoundHalfAwayFromZero };Константы
-
RoundHalfAwayFromZerokCMTimeRoundingMethod_RoundHalfAwayFromZeroЕсли abs (часть)> = 0.5, вокруг по направлению к нулю, если abs (часть) <0.5, далеко от 0.
Доступный в iOS 4.0 и позже.
-
RoundTowardZerokCMTimeRoundingMethod_RoundTowardZeroВокруг по направлению к нулю, если часть! = 0.
Доступный в iOS 4.0 и позже.
-
RoundAwayFromZerokCMTimeRoundingMethod_RoundAwayFromZeroВокруг далеко от нуля, если abs (часть)> 0.
Доступный в iOS 4.0 и позже.
-
QuickTimekCMTimeRoundingMethod_QuickTimeИспользовать
kCMTimeRoundingMethod_RoundTowardZeroпри преобразовании от большего до меньшего масштаба (т.е. от большей точности до меньшей точности), но использованиеkCMTimeRoundingMethod_RoundAwayFromZeroпри преобразовании от меньшего до более широкого масштаба (т.е. от меньшей точности до большей точности).Кроме того, никогда не округляйте в меньшую сторону отрицательное число до 0; всегда возвращайте наименьшую отрицательную величину
CMTimeв этом случае (-1/newTimescale).Доступный в iOS 4.0 и позже.
-
RoundTowardPositiveInfinitykCMTimeRoundingMethod_RoundTowardPositiveInfinityВокруг к +infinity, если часть! = 0.
Доступный в iOS 4.0 и позже.
-
RoundTowardNegativeInfinitykCMTimeRoundingMethod_RoundTowardNegativeInfinityВокруг к - бесконечность, если часть! = 0.
Доступный в iOS 4.0 и позже.
-
kCMTimeRoundingMethod_DefaultСиноним для
kCMTimeRoundingMethod_RoundHalfAwayFromZero.Доступный в iOS 4.0 и позже.
-
-
Ключи для доступа к значениям CMTime, представленного CFDictionary.
Объявление
Swift
let kCMTimeValueKey: CFString! let kCMTimeScaleKey: CFString! let kCMTimeEpochKey: CFString! let kCMTimeFlagsKey: CFString!Objective C
const CFStringRef kCMTimeValueKey; const CFStringRef kCMTimeScaleKey; const CFStringRef kCMTimeEpochKey; const CFStringRef kCMTimeFlagsKey;Константы
-
kCMTimeValueKeyCFDictionaryключ для поля значенияCMTime(aCFNumberсодержа значение int64_t).Доступный в iOS 4.0 и позже.
-
kCMTimeScaleKeyCFDictionaryключ для поля масштаба времениCMTime(aCFNumberсодержа значение int32_t).Доступный в iOS 4.0 и позже.
-
kCMTimeEpochKeyCFDictionaryключ для поля эпохиCMTime(aCFNumberсодержа значение int64_t).Доступный в iOS 4.0 и позже.
-
kCMTimeFlagsKeyCFDictionaryключ для поля флаговCMTime(aCFNumberсодержа значение int32_t).Доступный в iOS 4.0 и позже.
Обсуждение
См. также
CMTimeCopyAsDictionaryиCMTimeMakeFromDictionary. -
