Код ошибки AVPlayer = -11819 после добавления AVURLAssetPreferPreciseDurationAndTimingKey = true для формата fla c - PullRequest
0 голосов
/ 30 апреля 2020

Итак, я пытаюсь воспроизвести потоковую песню в формате fla c, используя SwiftAudio (https://github.com/jorgenhenrichsen/SwiftAudio), этот ящик библиотеки, используя AVPlayer. Проблема, которую я получил, заключается в том, что когда я играю потоковую песню с аудиоформатом c (https://www.eclassical.com/custom/eclassical/files/BIS1447-002-flac_24.flac) и после того, как я ищу индикатор выполнения и сохраняю проигрыватель, играющий до конца песни, песня не не заканчиваются на правильном времени.

После поиска решения я получил ссылку от AVPlayer Поиск не точный даже с допуском до: kCMTimeZero скажем добавить AVURLAssetPreferPreciseDurationAndTimingKey. из-за этого я делаю решение для кода SwiftAudio, как этот

AVPlayerWrapper.swift

func load(from url: URL, playWhenReady: Bool, initialTime: TimeInterval? = nil, options: [String : Any]? = nil) {
    _initialTime = initialTime
    self.pause()

    var opt = options
    opt = [AVURLAssetPreferPreciseDurationAndTimingKey : true]
    print("add option AVURLAssetPreferPreciseDurationAndTimingKey")
    self.load(from: url, playWhenReady: playWhenReady, options: opt) /*this function will set opt value to AVURLAsset*/
}

другой другой формат потоковой песни (я тестирую базу на примере - .mp3) работает нормально, но когда очередь песни воспроизводит потоковую песню онлайн в формате .fla c, она возвращает информацию об ошибке

Error Domain=AVFoundationErrorDomain Code=-11819 "Cannot Complete Action" UserInfo={NSLocalizedDescription=Cannot Complete Action, NSLocalizedRecoverySuggestion=Try again later.}

Итак, я что-то пропускаю, когда для AVURLAssetPreferPreciseDurationAndTimingKey установлено значение AVURLAsset?

...