Видео не может воспроизводиться должным образом под iOS12 - PullRequest
0 голосов
/ 02 октября 2018

Я использую AVAssetResourceLoader для загрузки данных и AVPlayerViewController для воспроизведения.Он работает правильно под iOS10, 11, но больше не работает под iOS12.При воспроизведении полоса процесса движется вперед, но видео воспроизводится только 1 секунду и зависает до конца.

Вот мой код AVAssetResourceLoader:

  class MediaResourceLoader: NSObject, AVAssetResourceLoaderDelegate {
    func resourceLoader(
        _ resourceLoader: AVAssetResourceLoader,
        shouldWaitForLoadingOfRequestedResource loadingRequest: AVAssetResourceLoadingRequest
    ) -> Bool {
      loadingRequest.contentInformationRequest?.contentType = kUTTypeMPEG4 as String
      loadingRequest.contentInformationRequest?.contentLength = Int64(self.data.count)
      loadingRequest.contentInformationRequest?.isByteRangeAccessSupported = true

      guard let request = loadingRequest.dataRequest else { return false }
      if request.requestsAllDataToEndOfResource {
        request.respond(with: data)
      } else if Int(request.requestedOffset) <= request.requestedLength {
        let subData = self.data.subdata(in: Int(request.requestedOffset)..<request.requestedLength)
        request.respond(with: subData)
      }

      loadingRequest.finishLoading()

      return true
    }
 }
...