Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы CoreMedia ссылка CMTimeRange

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка CMTimeRange

Этот документ описывает API для создания и управления CMTimeRange структуры.

CMTimeRange структуры являются ненепрозрачными непостоянными структурами, представляющими диапазоны времени. A CMTimeRange представлен как два CMTime структуры, та, указывающая время начала диапазона и другого, который указывает продолжительность диапазона. Диапазон времени не включает время окончания, которое было бы вычислено путем добавления продолжительности ко времени начала. Следующее выражение будет всегда оценивать ко лжи:

  • CMTimeRangeContainsTime(range, CMTimeRangeGetEnd(range))

Можно преобразовать CMTimeRanges к и от CFDictionaries (см. CFDictionaryRef) использование CMTimeRangeCopyAsDictionary и CMTimeRangeMakeFromDictionary, для использования в аннотациях и различных Базовых контейнерах Основы.

Эпоха в a CMTime это представляет продолжительность, должен всегда быть 0, и значение должно быть неотрицательным. Эпоха в a CMTime это представляет метку времени, может быть ненулевым, но операции диапазона (такой как CMTimeRangeGetUnion) может только быть выполнен на диапазонах, чьи запускаются, поля имеют ту же эпоху. CMTimeRanges не может охватить различные эпохи.

Дополнительные функции для управления датами и временем описаны в Ссылке Утилит времени; см. также Ссылку Констант Основы AV.

Функции

  • Для данного CMTime и CMTimeRange, возвращает самое близкое CMTime в том диапазоне времени.

    Объявление

    Swift

    func CMTimeClampToRange(_ time: CMTime, _ range: CMTimeRange) -> CMTime

    Objective C

    CMTime CMTimeClampToRange ( CMTime time, CMTimeRange range );

    Параметры

    time

    Время, которое будет зафиксировано.

    range

    Опрашиваемый диапазон времени.

    Возвращаемое значение

    A CMTime структура в данном диапазоне времени.

    Обсуждение

    Времена в данном диапазоне времени будут возвращены неизмененные. Времена перед запуском и после времени окончания диапазона времени возвратят запуск и время окончания диапазона соответственно. Если CMTimeRange параметр пуст, недопустимое CMTime будет возвращен. Если данный CMTime недопустимо, возвращенный CMTime будет недопустимо.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Переводит продолжительность посредством отображения от CMTimeRange к CMTimeRange.

    Объявление

    Swift

    func CMTimeMapDurationFromRangeToRange(_ dur: CMTime, _ fromRange: CMTimeRange, _ toRange: CMTimeRange) -> CMTime

    Objective C

    CMTime CMTimeMapDurationFromRangeToRange ( CMTime dur, CMTimeRange fromRange, CMTimeRange toRange );

    Параметры

    dur

    Продолжительность, которая будет переведена.

    fromRange

    Диапазон времени, из которого переводится продолжительность.

    toRange

    Диапазон времени, к которому продолжительность отображается на.

    Возвращаемое значение

    A CMTime структура, представляющая переведенную продолжительность.

    Обсуждение

    Продолжительность будет масштабироваться в пропорции к отношению между продолжительностями диапазонов:

    • result = dur*(toRange.duration/fromRange.duration)

    Если dur не имеет нуля эпохи, недопустимого CMTime будет возвращен.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Переводит время посредством отображения от CMTimeRange к CMTimeRange.

    Объявление

    Swift

    func CMTimeMapTimeFromRangeToRange(_ t: CMTime, _ fromRange: CMTimeRange, _ toRange: CMTimeRange) -> CMTime

    Objective C

    CMTime CMTimeMapTimeFromRangeToRange ( CMTime t, CMTimeRange fromRange, CMTimeRange toRange );

    Параметры

    t

    CMTime быть переведенным.

    fromRange

    Диапазон тот времени, от который CMTime переводится.

    toRange

    Диапазон тот времени, к который CMTime отображается на.

    Возвращаемое значение

    A CMTime структура, представляющая переведенное время.

    Обсуждение

    Запуск и время окончания fromRange будет отображен на запуске и время окончания toRange соответственно. Другие времена будут отображены линейно, с помощью формулы:

    • result = (t-fromRange.start)*(toRange.duration/fromRange.duration)+toRange.start

    Если также CMTimeRange параметр пуст, недопустимое CMTime будет возвращен. Если t не имеет той же эпохи как fromRange.start, недопустимое CMTime будет возвращен. Если и fromRange и toRange имеют продолжительность kCMTimePositiveInfinity, t будет смещаться относительно различий между их запусками, но не масштабироваться.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Указывает, содержится ли время в диапазоне времени.

    Объявление

    Swift

    func CMTimeRangeContainsTime(_ range: CMTimeRange, _ time: CMTime) -> Boolean

    Objective C

    Boolean CMTimeRangeContainsTime ( CMTimeRange range, CMTime time );

    Параметры

    range

    CMTimeRange быть опрошенным.

    time

    CMTime быть протестированным на включение.

    Возвращаемое значение

    Возвращает true, если требуемое время содержится в диапазоне требуемого времени, ложь, если это не.

    Обсуждение

    Эта функция возвращает булево значение, указывающее ли время, указанное time параметр содержится в диапазоне, указанном range параметр.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булевскую переменную, указывающую, содержится ли данный диапазон времени в другом диапазоне времени.

    Объявление

    Swift

    func CMTimeRangeContainsTimeRange(_ range1: CMTimeRange, _ range2: CMTimeRange) -> Boolean

    Objective C

    Boolean CMTimeRangeContainsTimeRange ( CMTimeRange range1, CMTimeRange range2 );

    Параметры

    range1

    CMTimeRange быть опрошенным.

    range2

    CMTimeRange быть протестированным на включение.

    Возвращаемое значение

    Возвращает true, если диапазон второго раза содержится в течение первого раза диапазон, ложь, если это не.

    Обсуждение

    Эта функция возвращает булево значение, указывающее ли диапазон времени, указанный range1 параметр содержит диапазон, указанный range2 параметр.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвраты a CFDictionary версия a CMTimeRange.

    Объявление

    Swift

    func CMTimeRangeCopyAsDictionary(_ range: CMTimeRange, _ allocator: CFAllocator!) -> CFDictionary!

    Objective C

    CFDictionaryRef CMTimeRangeCopyAsDictionary ( CMTimeRange range, CFAllocatorRef allocator );

    Параметры

    range

    CMTimeRange из которого можно создать словарь.

    allocator

    CFAllocator с которым можно создать словарь. Передача kCFAllocatorDefault использовать средство выделения по умолчанию

    Возвращаемое значение

    A CFDictionary версия CMTimeRange.

    Обсуждение

    Это полезно при помещении CMTimeRanges в Базовых типах контейнера Основы. Для ключей см. Ключи CFDictionary.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Создает a CFString с описанием a CMTimeRange (подобный CFCopyDescription).

    Объявление

    Swift

    func CMTimeRangeCopyDescription(_ allocator: CFAllocator!, _ range: CMTimeRange) -> CFString!

    Objective C

    CFStringRef CMTimeRangeCopyDescription ( CFAllocatorRef allocator, CMTimeRange range );

    Параметры

    allocator

    CFAllocator для выделения памяти для описания. Передача kCFAllocatorDefault использовать средство выделения по умолчанию.

    range

    CMTimeRange описать.

    Возвращаемое значение

    Создаваемый CFString описание.

    Обсуждение

    Это используется из CFShow на содержащем объекте CMTimeRange поля. Это также полезно от другого клиента, отлаживающего код. Вызывающей стороне принадлежит возвращенный CFString и ответственно за выпуск его.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее ли два CMTimeRanges идентичны.

    Объявление

    Swift

    func CMTimeRangeEqual(_ range1: CMTimeRange, _ range2: CMTimeRange) -> Boolean

    Objective C

    Boolean CMTimeRangeEqual ( CMTimeRange range1, CMTimeRange range2 );

    Параметры

    range1

    CMTimeRange быть сравненным для равенства.

    range2

    Другой CMTimeRange быть сравненным для равенства.

    Возвращаемое значение

    Возвращает true, если два раза располагаются, являются идентичными, ложными, если они отличаются.

    Обсуждение

    Эта функция возвращает булево значение, указывающее ли диапазоны времени, указанные range1 и range2 параметры идентичны.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Создает допустимое CMTimeRange от данного запуска и время окончания.

    Объявление

    Swift

    func CMTimeRangeFromTimeToTime(_ start: CMTime, _ end: CMTime) -> CMTimeRange

    Objective C

    CMTimeRange CMTimeRangeFromTimeToTime ( CMTime start, CMTime end );

    Параметры

    start

    CMTime структура, представляющая время начала для создания диапазона.

    end

    CMTime структура, представляющая время окончания для создания диапазона.

    Возвращаемое значение

    Получающееся CMTimeRange.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвраты a CMTime структура, представляющая конец диапазона времени.

    Объявление

    Swift

    func CMTimeRangeGetEnd(_ range: CMTimeRange) -> CMTime

    Objective C

    CMTime CMTimeRangeGetEnd ( CMTimeRange range );

    Параметры

    range

    CMTimeRange, от которого можно найти конец диапазона времени.

    Возвращаемое значение

    A CMTime структура, представляющая конец диапазона требуемого времени.

    Обсуждение

    Эта функция возвращает a CMTime структура, указывающая конец диапазона времени, указанного range параметр. CMTimeRangeContainsTime (диапазон, CMTimeRangeGetEnd (диапазон)) всегда является ложью.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает пересечение два CMTimeRanges.

    Объявление

    Swift

    func CMTimeRangeGetIntersection(_ range1: CMTimeRange, _ range2: CMTimeRange) -> CMTimeRange

    Objective C

    CMTimeRange CMTimeRangeGetIntersection ( CMTimeRange range1, CMTimeRange range2 );

    Параметры

    range1

    CMTimeRange быть пересеченным.

    range2

    Другой CMTimeRange быть пересеченным.

    Возвращаемое значение

    Пересечение двух CMTimeRanges.

    Обсуждение

    Эта функция возвращает a CMTimeRange структура, представляющая пересечение диапазонов времени, указанных range1 и range2 параметры. Это - самый большой диапазон, который включают оба диапазона.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает объединение два CMTimeRanges.

    Объявление

    Swift

    func CMTimeRangeGetUnion(_ range1: CMTimeRange, _ range2: CMTimeRange) -> CMTimeRange

    Objective C

    CMTimeRange CMTimeRangeGetUnion ( CMTimeRange range1, CMTimeRange range2 );

    Параметры

    range1

    CMTimeRange быть объединенным.

    range2

    Другой CMTimeRange быть объединенным.

    Возвращаемое значение

    Объединение двух CMTimeRanges.

    Обсуждение

    Эта функция возвращает a CMTimeRange структура, представляющая объединение диапазонов времени, указанных range1 и range2 параметры. Это - самый маленький диапазон, включающий все случаи, которые находятся в любом диапазоне.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Создает допустимое CMTimeRange с данным временем начала и продолжительностью.

    Объявление

    Swift

    func CMTimeRangeMake(_ start: CMTime, _ duration: CMTime) -> CMTimeRange

    Objective C

    CMTimeRange CMTimeRangeMake ( CMTime start, CMTime duration );

    Параметры

    start

    CMTime структура для инициализации поля запуска получающегося CMTimeRange.

    duration

    CMTime структура для инициализации поля продолжительности получающегося CMTimeRange.

    Возвращаемое значение

    Получающееся CMTimeRange.

    Обсуждение

    Параметр продолжительности должен иметь эпоху 0; иначе недопустимый диапазон времени будет возвращен.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Перераспределяет a CMTimeRange структура от CFDictionary, ранее создаваемого CMTimeRangeCopyAsDictionary.

    Объявление

    Swift

    func CMTimeRangeMakeFromDictionary(_ dict: CFDictionary!) -> CMTimeRange

    Objective C

    CMTimeRange CMTimeRangeMakeFromDictionary ( CFDictionaryRef dict );

    Параметры

    dict

    CFDictionary из которого можно создать a CMTimeRange.

    Возвращаемое значение

    Перераспределенный CMTimeRange.

    Обсуждение

    Это полезно при получении CMTimeRanges от Базовых типов контейнера Основы. Если CFDictionary не имеет включенных значений потребности, недопустимый диапазон времени возвращается. Для ключей см. Ключи CFDictionary.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Распечатывает описание CMTimeRange к stderr (подобный CFShow).

    Объявление

    Swift

    func CMTimeRangeShow(_ range: CMTimeRange)

    Objective C

    void CMTimeRangeShow ( CMTimeRange range );

    Параметры

    range

    CMTimeRange быть распечатанным.

    Обсуждение

    Это является самым полезным из gdb.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Swift

    import CoreMedia

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее ли данный CMTimeRange имеет продолжительность 0.

    Объявление

    Objective C

    #define CMTIMERANGE_IS_EMPTY(range) ((Boolean)(CMTIMERANGE_IS_VALID(range) && (CMTIME_COMPARE_INLINE(range.duration, ==, kCMTimeZero))))

    Параметры

    range

    Диапазон времени, который будет протестирован на пустоту.

    Возвращаемое значение

    true если range имеет продолжительность 0; иначе, false.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее ли данный CMTimeRange неопределенно.

    Объявление

    Objective C

    #define CMTIMERANGE_IS_INDEFINITE(range) ((Boolean)(CMTIMERANGE_IS_VALID(range) && (CMTIME_IS_INDEFINITE(range.start) || CMTIME_IS_INDEFINITE(range.duration))))

    Параметры

    range

    Диапазон времени, который будет протестирован на ограниченность.

    Возвращаемое значение

    true если range неопределенно; иначе, false.

    Обсуждение

    Неопределенный диапазон времени имеет или неопределенный запуск или неопределенную продолжительность или обоих.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее ли данный CMTimeRange недопустимо.

    Объявление

    Objective C

    #define CMTIMERANGE_IS_INVALID(range) (! CMTIMERANGE_IS_VALID(range))

    Параметры

    range

    Диапазон времени, который будет протестирован на недействительность.

    Возвращаемое значение

    true если range недопустимо; иначе, false.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает булево значение, указывающее ли данный CMTimeRange допустимо.

    Объявление

    Objective C

    #define CMTIMERANGE_IS_VALID(range) ((Boolean)(CMTIME_IS_VALID(range.start) && CMTIME_IS_VALID(range.duration) && (range.duration.epoch == 0) && (range.duration.value >= 0)))

    Параметры

    range

    Диапазон времени, который будет протестирован на законность.

    Возвращаемое значение

    true если range допустимо; иначе, false.

    Оператор импорта

    Objective C

    @import CoreMedia;

    Доступность

    Доступный в OS X v10.7 и позже.

Типы данных

Прочие условия

  • Диапазон времени, представленный как два CMTime структуры.

    Объявление

    Swift

    struct CMTimeRange { var start: CMTime var duration: CMTime }

    Objective C

    typedef struct { CMTime start; CMTime duration; } CMTimeRange;

    Поля

    start

    Время начала диапазона времени.

    duration

    Продолжительность диапазона времени.

    Доступность

    Доступный в OS X v10.7 и позже.

  • Структура для указания отображения сегмента одной временной шкалы в другого.

    Объявление

    Swift

    struct CMTimeMapping { var source: CMTimeRange var target: CMTimeRange }

    Objective C

    typedef struct { CMTimeRange source; CMTimeRange target; } CMTimeMapping;

    Поля

    source

    Диапазон времени на исходной временной шкале.

    Для пустого редактирования, source.start недопустимый CMTime, когда проигнорирован source.duration. Иначе, source.start время начала в источнике, и source.duration продолжительность исходной временной шкалы, которая будет отображена на целевом диапазоне времени.

    target

    Диапазон времени на целевой временной шкале.

    Если target.duration и source.duration отличаются, тогда исходный сегмент должен играться на уровне source.duration /target.duration соответствовать.

    Обсуждение

    A CMTimeMapping указывает отображение сегмента одной временной шкалы (названный источником) в другую временную шкалу (названный целью). Когда используется для списков редактирования фильма, исходная временная шкала является носителями, и целевая временная шкала является дорожкой или фильмом.

    Доступность

    Доступный в OS X v10.7 и позже.

Константы

  • Ключи для компонентов в a CFDictionary представление a CMTimeRange.

    Объявление

    Swift

    let kCMTimeRangeStartKey: CFString! let kCMTimeRangeDurationKey: CFString!

    Objective C

    const CFStringRef kCMTimeRangeStartKey; const CFStringRef kCMTimeRangeDurationKey;

    Константы

    • kCMTimeRangeStartKey

      kCMTimeRangeStartKey

      Ключ для поля запуска a CMTimeRange (CMTime).

      Доступный в OS X v10.7 и позже.

    • kCMTimeRangeDurationKey

      kCMTimeRangeDurationKey

      Ключ для масштаба времени a CMTimeRange (CMTime).

      Доступный в OS X v10.7 и позже.

    Обсуждение

    Преобразовать a CMTimeRange к и от a CFDictionary, посмотрите CMTimeRangeCopyAsDictionary и CMTimeRangeMakeFromDictionary.

  • Эти константы указывают нулевые и недопустимые диапазоны времени.

    Объявление

    Swift

    let kCMTimeRangeZero: CMTimeRange let kCMTimeRangeInvalid: CMTimeRange

    Objective C

    const CMTimeRange kCMTimeRangeZero; const CMTimeRange kCMTimeRangeInvalid;

    Константы

    • kCMTimeRangeZero

      kCMTimeRangeZero

      Используйте эту константу для генерации пустого CMTimeRange в 0.

      Доступный в OS X v10.7 и позже.

    • kCMTimeRangeInvalid

      kCMTimeRangeInvalid

      Используйте эту константу для генерации недопустимого CMTimeRange.

      Доступный в OS X v10.7 и позже.