Как воспроизводить видео с использованием хранилища firebase - PullRequest
0 голосов
/ 07 августа 2020

Я разрабатываю приложение, которое воспроизводит видео для различных упражнений, и я храню эти видео в хранилище firebase. Если кто-нибудь может помочь мне выяснить, как воспроизводить видео из базы данных хранилища, это было бы очень полезно.

Имя видео будет равно свойству workout! .WorkoutTitle, которое является структурой, которую я создал где-то еще в приложение.

Вот то, что мне удалось собрать вместе с некоторыми материалами в Интернете, но мне нужна помощь. Я хочу передать свойство workout! .WorkoutTitle функции getVideo и воспроизводить видео при каждом вызове этой функции. Любая помощь приветствуется!

var videoReference : StorageReference {
    return Storage.storage().reference().child("videos")
}

func getVideo(videoName: String) {
    let fileName = videoName + ".mp4"
    let downloadRef = videoReference.child(fileName)
    
    let downloadTask = downloadRef.getData(maxSize: (1024 * 1024 * 100)) { (data, error) in
        if let data = data {
            let videoPath = URL()
            videoController.playVideo(path: videoPath) //videoController is just a variable I use to manage playing videos
        }
    }
}

1 Ответ

1 голос
/ 07 августа 2020

Поскольку вы вызываете downloadRef.getData(maxSize: (1024 * 1024 * 100), вы загружаете фактические байты из хранилища в переменную data.

Если вы хотите получить URL-адрес и использовать его, используйте подход, показанный в документация по генерации URL загрузки :

let downloadTask = downloadRef.downloadURL { url, error in
  if let error = error {
    // Handle any errors
  } else {
    videoController.playVideo(path: url) 
  }
}
...