Пока я ждал, пока кто-нибудь ответит, и продолжал копать, даже в модуль Carbon ... Я обнаружил, что существует множество методов, обернутых в объекты pyobjc, которые на самом деле не документированы в документах или, возможно, даже не представлены вродной объект QTKit.Я полагаю, что это компенсирует отсутствие доступа к слою Quicktime C-api.
Сначала мой поиск обнаружил этот класс QTKit: QTFormatDescription
Но не былоЯсный способ, как создать один из них.Очевидно, я был не единственным , смущенным тем, как извлечь один
Когда я начал искать фактические члены объектов QTMovie, QTTrack и QTMedia, возможно, искал способ извлечьобъект QTFormatDescription, я наткнулся на вызов метода: QTTrack.mediaSubType
>>> movie = QTMovie.alloc().initWithFile_error_("/path/to/quicktime.mov", None)
>>> track = movie.tracks()[1]
>>> track.mediaSubType()
u'AVdn'
Я предполагаю, что они включают много удобных методов в экземпляры pyobjc, чтобы вы могли получать информацию такого типа без C-api.Это просто позор, что он так недокументирован.
Для тех, кто ищет случайную функциональность, подобную этой, все, что я могу порекомендовать, это сделать что-то вроде этого, чтобы найти любые добавленные не-arg методы, которые могут быть вам доступны:
>>> print '\n'.join([attrib for attrib in dir(QTTrack) if not '_' in attrib])
....
mediaName
mediaRetained
mediaSubType
mediaType
mediaTypeInMedia
...