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

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

Разработчик

Ссылка платформы AudioToolbox ссылка MusicEventIterator

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

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

Ссылка MusicEventIterator

Вместе со связанными непрозрачными типами Ваше приложение может использовать итератор музыкального события для игры музыкальных треков MIDI и дорожек автоматизации параметра аудиоустройства. Итератор музыкального события является непрозрачным MusicEventIterator тип данных.

Непрозрачные типы, используемые с итератором музыкального события, описаны в следующих документах:

Коды результата для этого непрозрачного типа описаны в Ссылке MusicPlayer.

Функции

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

    Объявление

    Swift

    func NewMusicEventIterator(_ inTrack: MusicTrack, _ outIterator: UnsafeMutablePointer<MusicEventIterator>) -> OSStatus

    Objective C

    OSStatus NewMusicEventIterator ( MusicTrack inTrack, MusicEventIterator *outIterator );

    Параметры

    inTrack

    Музыкальный трек для итерации.

    outIterator

    На выводе, недавно создаваемом итераторе музыкального события.

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

    Код результата.

    Обсуждение

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

    При редактировании музыкального трека после соединения его с итератором музыкального события необходимо отбросить итератор и создать новый. Выполните следующие шаги после редактирования дорожки:

    1. Получите текущую позицию с помощью MusicEventIteratorGetEventInfo функция, и сохраняет позицию.

    2. Избавьтесь от итератора музыкального события.

    3. Создайте новый итератор.

    4. Ищите на желаемую позицию с помощью MusicEventIteratorSeek функция.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

    См. также

    DisposeMusicEventIterator

  • Избавляется от итератора музыкального события.

    Объявление

    Swift

    func DisposeMusicEventIterator(_ inIterator: MusicEventIterator) -> OSStatus

    Objective C

    OSStatus DisposeMusicEventIterator ( MusicEventIterator inIterator );

    Параметры

    inIterator

    Итератор музыкального события для избавления.

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

    Код результата.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

    См. также

    NewMusicEventIterator

  • Располагает итератор музыкального события в указанную метку времени, в ударах.

    Объявление

    Swift

    func MusicEventIteratorSeek(_ inIterator: MusicEventIterator, _ inTimeStamp: MusicTimeStamp) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorSeek ( MusicEventIterator inIterator, MusicTimeStamp inTimeStamp );

    Параметры

    inIterator

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

    inTimeStamp

    Новая позиция для итератора музыкального события, в ударах.

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

    Для расположения итератора сразу вне заключительного этапа музыкального трека указать kMusicTimeStamp_EndOfTrack для этого параметра. Можно тогда вызвать MusicEventIteratorPreviousEvent отследить в обратном порядке к заключительному этапу музыкального трека.

    Для расположения итератора в первое событие музыкального трека укажите значение 0 для этого параметра.

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

    Код результата.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func MusicEventIteratorNextEvent(_ inIterator: MusicEventIterator) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorNextEvent ( MusicEventIterator inIterator );

    Параметры

    inIterator

    Итератор музыкального события, чтобы изменить местоположение.

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

    Код результата.

    Обсуждение

    Используйте эту функцию для постепенного увеличения позиции итератора музыкального события вперед через события музыкального трека.

    Если итератор на заключительном этапе дорожки, когда Вы вызываете эту функцию, итератор тогда перемещается вне заключительного этапа. Если итератор вне заключительного этапа путем вызова, можно обнаружить MusicEventIteratorHasCurrentEvent функция.

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

    • // Create a new iterator, which automatically points at the first event
    • // on the iterator's music track.
    • bool hasCurrentEvent;
    • MusicEventIteratorHasCurrentEvent (myIterator, &hasCurrentEvent);
    • while (hasCurrentEvent) {
    • // do work here
    • MusicEventIteratorNextEvent (myIterator);
    • MusicEventIteratorHasCurrentEvent (myIterator, &hasCurrentEvent);
    • }

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Располагает итератор музыкального события в предыдущее событие на музыкальном треке.

    Объявление

    Swift

    func MusicEventIteratorPreviousEvent(_ inIterator: MusicEventIterator) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorPreviousEvent ( MusicEventIterator inIterator );

    Параметры

    inIterator

    Итератор музыкального события, чтобы изменить местоположение.

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

    Код результата.

    Обсуждение

    Используйте эту функцию для постепенного уменьшения итератора музыкального события, перемещая его назад через события музыкального трека.

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

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

    • // Points iterator just beyond the final event on its music track
    • MusicEventIteratorSeek (myIterator, kMusicTimeStamp_EndOfTrack);
    • bool hasPreviousEvent;
    • MusicEventIteratorHasPreviousEvent (myIterator, &hasPreviousEvent);
    • while (hasPreviousEvent) {
    • MusicEventIteratorPreviousEvent (myIterator);
    • // do work here
    • MusicEventIteratorHasPreviousEvent (myIterator, &hasPreviousEvent);
    • }

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func MusicEventIteratorHasPreviousEvent(_ inIterator: MusicEventIterator, _ outHasPrevEvent: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorHasPreviousEvent ( MusicEventIterator inIterator, Boolean *outHasPrevEvent );

    Параметры

    inIterator

    Итератор музыкального события, о состоянии которого Вы хотите знать.

    outHasPrevEvent

    На выводе, true (ненулевой), если существует событие ближе к запуску музыкального трека, чем текущая позиция итератора музыкального события; false (нуль) иначе.

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

    Код результата.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func MusicEventIteratorHasNextEvent(_ inIterator: MusicEventIterator, _ outHasNextEvent: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorHasNextEvent ( MusicEventIterator inIterator, Boolean *outHasNextEvent );

    Параметры

    inIterator

    Итератор музыкального события, о состоянии которого Вы хотите знать.

    outHasNextEvent

    На выводе, true (ненулевой), если существует событие ближе до конца музыкального трека, чем текущая позиция итератора музыкального события; false (нуль) иначе.

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

    Код результата.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func MusicEventIteratorHasCurrentEvent(_ inIterator: MusicEventIterator, _ outHasCurEvent: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorHasCurrentEvent ( MusicEventIterator inIterator, Boolean *outHasCurEvent );

    Параметры

    inIterator

    Итератор музыкального события, о состоянии которого Вы хотите знать.

    outHasCurEvent

    На выводе, true (ненулевой), если существует событие в текущей позиции итератора музыкального события; false (нуль) иначе.

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

    Код результата.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Получает информацию о событии в текущей позиции итератора музыкального события.

    Объявление

    Swift

    func MusicEventIteratorGetEventInfo(_ inIterator: MusicEventIterator, _ outTimeStamp: UnsafeMutablePointer<MusicTimeStamp>, _ outEventType: UnsafeMutablePointer<MusicEventType>, _ outEventData: UnsafeMutablePointer<UnsafePointer<Void>>, _ outEventDataSize: UnsafeMutablePointer<UInt32>) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorGetEventInfo ( MusicEventIterator inIterator, MusicTimeStamp *outTimeStamp, MusicEventType *outEventType, const void **outEventData, UInt32 *outEventDataSize );

    Параметры

    inIterator

    Итератор музыкального события, о текущем событии которого Вы хотите информацию.

    outTimeStamp

    На выводе, метке времени музыкального события, в ударах.

    outEventType

    На выводе, типе музыкального события. Для возможных типов событий посмотрите Типы Музыкального события.

    outEventData

    На выводе, ссылке на данные музыкального события. Тип данных указан outEventType параметр. Не изменяйте справочные данные непосредственно; для изменения события используйте MusicEventIteratorSetEventInfo функция.

    outEventDataSize

    На выводе, размере, в байтах, данных музыкального события в outEventData параметр.

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

    Код результата.

    Обсуждение

    Передача NULL для любого выходного параметра, в информации которого Вы не нуждаетесь.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Информация о наборах для события в текущей позиции итератора музыкального события.

    Объявление

    Swift

    func MusicEventIteratorSetEventInfo(_ inIterator: MusicEventIterator, _ inEventType: MusicEventType, _ inEventData: UnsafePointer<Void>) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorSetEventInfo ( MusicEventIterator inIterator, MusicEventType inEventType, const void *inEventData );

    Параметры

    inIterator

    Итератор музыкального события, текущее событие которого Вы хотите установить.

    inEventType

    Тип музыкального события, которое Вы указываете. Для возможных типов событий посмотрите Типы Музыкального события.

    inEventData

    Данные о событии, которые Вы указываете. Размер и тип данных должны быть подходящими для типа музыкального события, который Вы указываете в inEventType параметр.

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

    Код результата.

    Обсуждение

    Используйте эту функцию для установки типа музыкального события и данных о событии для события, в которое расположен итератор музыкального события. Эта функция не позволяет Вам изменять метку времени события; чтобы сделать это, вызовите MusicEventIteratorSetEventTime функция.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Устанавливает метку времени для события в текущей позиции итератора музыкального события.

    Объявление

    Swift

    func MusicEventIteratorSetEventTime(_ inIterator: MusicEventIterator, _ inTimeStamp: MusicTimeStamp) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorSetEventTime ( MusicEventIterator inIterator, MusicTimeStamp inTimeStamp );

    Параметры

    inIterator

    Итератор музыкального события, из текущего события которого Вы хотите изменить метку времени.

    inTimeStamp

    Новая метка времени для события, в ударах.

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

    Код результата.

    Обсуждение

    После вызывания этой функции итератор музыкального события остается расположенным в то же событие. Однако, потому что событие было перемещено в новое расположение на музыкальном треке итератора, итератор больше может не иметь следующего или предыдущего события. Можно протестировать это путем вызова MusicEventIteratorHasPreviousEvent и MusicEventIteratorHasNextEvent.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Удаляет событие в текущей позиции итератора музыкального события.

    Объявление

    Swift

    func MusicEventIteratorDeleteEvent(_ inIterator: MusicEventIterator) -> OSStatus

    Objective C

    OSStatus MusicEventIteratorDeleteEvent ( MusicEventIterator inIterator );

    Параметры

    inIterator

    Итератор музыкального события, текущее событие которого Вы хотите удалить.

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

    Код результата.

    Обсуждение

    После вызывания этой функции итератор музыкального события указывает на событие, следующее за удаленным событием — если существует такое событие. Если событие, которое Вы удалили, было заключительным этапом, итератор тогда сразу расположен вне заключительного этапа музыкального трека.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

Типы данных

  • Итератор музыкального события последовательно обрабатывает события на музыкальном треке.

    Объявление

    Swift

    typealias MusicEventIterator = COpaquePointer

    Objective C

    typedef struct OpaqueMusicEventIterator *MusicEventIterator;

    Доступность

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

Константы

  • Время, в ударах, сразу вне конца музыкального трека.

    Объявление

    Swift

    var kMusicTimeStamp_EndOfTrack: Double { get }

    Objective C

    #define kMusicTimeStamp_EndOfTrack DBL_MAX

    Константы

    • kMusicTimeStamp_EndOfTrack

      kMusicTimeStamp_EndOfTrack

      Сразу указывает время вне последнего музыкального события в музыкальном треке. Используйте это значение при выборе всех музыкальных событий, запускающихся в определяемое время и расширяющихся на, и включая, последнее событие в дорожке. Также используйте это значение для расположения итератора для того, чтобы переместиться назад через дорожку от конца до запуска. См. также Музыкальные треки Редактирования и MusicEventIteratorSeek.

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

  • MIDI и другие типы музыкального события, используемые функциями итератора музыкального события.

    Объявление

    Swift

    typealias MusicEventType = UInt32

    Objective C

    enum { kMusicEventType_NULL = 0, kMusicEventType_ExtendedNote, kMusicEventType_ExtendedControl, kMusicEventType_ExtendedTempo, kMusicEventType_User, kMusicEventType_Meta, kMusicEventType_MIDINoteMessage, kMusicEventType_MIDIChannelMessage, kMusicEventType_MIDIRawData, kMusicEventType_Parameter, kMusicEventType_AUPreset, kMusicEventType_Last }; typedef UInt32 MusicEventType;

    Константы

    • kMusicEventType_NULL

      kMusicEventType_NULL

      Нулевое музыкальное событие.

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

    • kMusicEventType_ExtendedNote

      kMusicEventType_ExtendedNote

      Музыкальное событие не-MIDI с переменным числом параметров.

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

    • kMusicEventType_ExtendedControl

      kMusicEventType_ExtendedControl

      Не-MIDI управляет событием.

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

    • kMusicEventType_ExtendedTempo

      kMusicEventType_ExtendedTempo

      Событие, сигнализирующее изменение в темпе в ударах в минуту.

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

    • kMusicEventType_User

      kMusicEventType_User

      Определяемые пользователем данные.

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

    • kMusicEventType_Meta

      kMusicEventType_Meta

      Стандартное метасобытие файла MIDI.

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

    • kMusicEventType_MIDINoteMessage

      kMusicEventType_MIDINoteMessage

      Примечание MIDI - на сообщении, включая продолжительность.

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

    • kMusicEventType_MIDIChannelMessage

      kMusicEventType_MIDIChannelMessage

      MIDI образовывает канал сообщение кроме управления примечанием.

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

    • kMusicEventType_MIDIRawData

      kMusicEventType_MIDIRawData

      MIDI монопольные системой данные.

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

    • kMusicEventType_Parameter

      kMusicEventType_Parameter

      Событие параметра аудиоустройства.

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

    • kMusicEventType_AUPreset

      kMusicEventType_AUPreset

      Событие, содержащее пользователя аудиоустройства, задало словарь.

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

    • kMusicEventType_Last

      kMusicEventType_Last

      Маркер, указывающий заключительный перечислитель в перечислении.

      Доступный в OS X v10.0 через OS X v10.6.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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