AVAssetResourceLoadingDataRequest
Используйте AVAssetResourceLoadingDataRequest
класс, чтобы запросить данные от ресурса , на который ссылаются AVAssetResourceLoadingRequest
экземпляр.
AVAssetResourceLoaderDelegate
использование AVAssetResourceLoadingDataRequest
класс, чтобы сделать фактическое считывание данных и его методы будет вызван, по мере необходимости, для получения данных для AVAssetResourceLoadingRequest
экземпляр.
Когда делегат загрузки ресурса, реализующий AVAssetResourceLoaderDelegate
протокол, получает экземпляр AVAssetResourceLoadingRequest
как второй параметр делегата resourceLoader:shouldWaitForLoadingOfRequestedResource:
метод, это имеет опцию того, чтобы брать на себя ответственность за загрузку ресурса, на который ссылаются. Если это берет на себя ту ответственность путем возврата YES
true
, это должно проверить ли dataRequest
свойство AVAssetResourceLoadingRequest
экземпляр не nil
. Если это не nil
, делегату загрузки ресурса сообщают о диапазоне байтов в ресурсе, требующихся базовой системой носителей. В ответ данные предоставлены одним или более вызовами respondWithData:
как требуется предоставлять требуемые данные. Данные могут быть предоставлены в инкрементах, определенных делегатом загрузки ресурса согласно удобству или эффективности.
Когда AVAssetResourceLoadingRequest
метод finishLoading
вызывается, запрос данных считают полностью удовлетворенным. Если весь диапазон байтов, которые требуют, еще не был предоставлен, базовая система носителей предполагает, что длина ресурса ограничивается предоставленным содержанием.
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.9 и позже.
-
Предоставляет данные загружающемуся запросу.
Объявление
Swift
func respondWithData(_
data
: NSData!)Objective C
- (void)respondWithData:(NSData *)
data
Параметры
data
Экземпляр
NSData
содержа некоторых или все требуемые байты.Обсуждение
Этот метод может быть вызван многократно на том же экземпляре
AVAssetResourceLoadingDataRequest
обеспечить полный спектр запрошенных данных инкрементно. На каждый вызов, значениеcurrentOffset
свойство обновляется для соответствия предоставленного объема данных.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
requestedLength requestedLength
СвойствоДлину, в байтах, данных требуют. (только для чтения)
Объявление
Swift
var requestedLength: Int { get }
Objective C
@property(nonatomic, readonly) NSInteger requestedLength
Обсуждение
Если длина содержания ресурса неизвестна, сумма
requestedLength
иrequestedOffset
свойства могут быть больше, чем фактическая длина содержания. Когда эта ситуация происходит, приложение должно попытаться обеспечить такое количество запрошенных данных, начинающихся вrequestedOffset
свойство как ресурс содержит. Приложение должно тогда вызвать любогоAVAssetResourceLoadingRequest
экземплярfinishLoading
метод на успех, илиfinishLoadingWithError:
метод, если с ошибкой встречаются во время загрузки.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
requestedOffset requestedOffset
СвойствоПозицию в ресурсе первого байта требуют. (только для чтения)
Объявление
Swift
var requestedOffset: Int64 { get }
Objective C
@property(nonatomic, readonly) long long requestedOffset
Обсуждение
Когда все требуемые байты — включая возможное, которые могут быть предоставлены были загружены
contentInformationRequest
данные вAVAssetResourceLoadingRequest
экземпляр, содержащий получатель — делегат, должен ответить путем вызоваfinishLoading
.Если
requestedOffset
значение вне длины содержания ресурса,AVAssetResourceLoadingRequest
экземпляр отправляется afinishLoading
сообщение без любых предшествующих вызововrespondWithData:
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
currentOffset currentOffset
СвойствоПозиция в ресурсе следующего байта. (только для чтения)
Объявление
Swift
var currentOffset: Int64 { get }
Objective C
@property(nonatomic, readonly) long long currentOffset
Обсуждение
При инкрементной загрузке данных необходимо начать загружаться при этом смещении, возвратив данные путем вызова
respondWithData:
метод. Байты до этого значения уже были предоставлены.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.9 и позже.
См. также