Я храню свои видеоролики MP4 в хранилище Google Cloud и пытаюсь воспроизвести их на устройстве iOS с помощью MPMoviePlayerController, но он не воспроизводится. Однако, если я загружаю тот же файл в dropbox для публики, он отлично работает.IOS не воспроизводит URL-адреса из облачного хранилища Google
let videoURLWithPath = "https://storage.googleapis.com/pioctave/577265bce6058511008a39dd/57bc34d5683eb51100173a46-video/pioctave.mp4"
print(videoURLWithPath)
let videoURL = NSURL(string: videoURLWithPath)
moviePlayer = MPMoviePlayerController(contentURL: videoURL)
moviePlayer.view.frame = CGRectMake(0.0, 0.0, self.view.frame.size.width, self.header_video_img!.frame.size.height)
self.view.addSubview(moviePlayer.view)
moviePlayer.fullscreen = false
moviePlayer.shouldAutoplay = true
moviePlayer.controlStyle = MPMovieControlStyle.Fullscreen
moviePlayer.scalingMode = MPMovieScalingMode.AspectFill
moviePlayer.play()
Я использовал тот же файл из GCS в android, он работал нормально. Ниже приведен пример публичного URL-адреса видео.
Есть ли какие-либо проблемы заголовка или есть какой-то вопрос в стороне устройства. Пожалуйста помоги.
это начинается первый 5 сек видео и никогда не идет вперед, что, пожалуйста, вы можете помочь с этим? – paparoch
Добавить наблюдатель игроку пункт: playerItem.addObserver (самость, forKeyPath: "playbackBufferEmpty", варианты: .new, контекст: ноль) playerItem.addObserver (самообеспечение, forKeyPath: "playbackLikelyToKeepUp", варианты: .new, контекст: nil) playerItem.addObserver (self, forKeyPath: "playbackBufferFull", options: .New, context: nil) –
затем выполнить ниже метод: переопределить общедоступный func observValueForKeyPath (keyPath: String ?, ofObject object: AnyObject ?, change: [ Строка: AnyObject] ?, контекст: UnsafeMutablePointer) { если объект AVPlayerItem { переключатель { ключевого ресурса случай "playbackBufferEmpty": // player.play() случай "playbackLikelyToKeepUp": // Скрыть погрузчик // player.pause() случай "playbackBufferFull": // Скрыть погрузчик // player.pause() } }} –