Доступ к фильмам и видео iTunes U на iPad

В моем приложении я хочу воспроизвести вид, который выглядит точно так же, как и собственное приложение iPad "Видео" (оно отображает фильмы и видео iTunes U, расположенные на iPad).

Я не знаю, как получить доступ к этим элементам на iPad (фильмы и iTunes U).

Я играл со всем, что упомянуто в документации Apple "Руководство по программированию доступа к библиотеке IPod":

  • MPMediaItem
  • MPMediaPickerController
  • MPMediaQuery
  • MPMoviePlayerController… и т. Д.

Я думал, что был близок с MPMediaItem и MPMediaQuery, так как два флага показались многообещающими:

MPMediaTypeMovie = 1 << 8 MPMediaTypeVideoITunesU = 1 << 12

Тем не менее, все результаты, которые я получаю, включают только песни.

Использую ли я нужные классы для доступа к этим предметам? Учитывая результаты, которые я получаю, кажется, что эти классы могут получить доступ только к тем элементам мультимедиа, которые являются частью библиотеки iPod, а я не уверен, что это относится к фильмам и видео iTunes U.

Я знаю, что это возможно, потому что я видел другое приложение, которое обращается к нему (оно называется "VideoPix"). Она представляет "Видео библиотеку" в виде Popover, поэтому сначала я подозревал, что она использует MPMediaPickerController, потому что на iPad вы можете использовать его только в Popover, но опять же, когда я попробовал, все, что я видел, было песни, нет фильмов или элементов iTunes U:(

Заранее спасибо!

Фред

2 ответа

Посмотрите пример кода AVMovieExporter, он делает то, о чем вы говорите. Я не уверен насчет воспроизведения, но он определенно перечисляет их, хотя DRM не так хорошо взаимодействуют.

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

AVMovieExporter[642:5b17] couldn't generate thumbnail, error:Error Domain=AVFoundationErrorDomain Code=-11836 "Cannot Open" UserInfo=0x1cd9d550 {NSLocalizedDescription=Cannot Open, NSUnderlyingError=0x1e09b5b0 "The operation couldn\342\200\231t be completed. (OSStatus error -12161.)", NSLocalizedFailureReason=This app is not authorized to play this file.}

Проверьте ALAsset в AssetsLibrary.framework.

Это схожая концепция того, что вы пытаетесь сделать выше, вы в основном запрашиваете у ALAssetLibrary ресурсы типов (ALAssetTypePhoto | ALAssetTypeVideo), и предварительно, у вас есть коллекция, которую вы можете отобразить пользователю.

Другие вопросы по тегам