Загрузка и загрузка случайного аудиофайла из Firebase «файл заранее» - PullRequest
0 голосов
/ 09 октября 2018

Я работаю над проектом случайного воспроизведения аудиофайлов.Я ищу способ загрузки случайного аудиофайла с удаленного сервера, но заранее список воспроизведения для бесшовного зацикливания.Я хотел бы получить представление о том, как заранее загрузить случайно выбранный файл во время воспроизведения , а не загружать его все сразу.

Когда я загружал с локального устройства, онбыло легко: я создал массив AKPlayers, каждый из которых загружен различными аудиофайлами, и я запустил их с помощью функции случайного вызова (randomWithRepeats).

// Select random audiofile from 1-10, but repeat them 3-4 times.
let rand = RandomWithRepeats(range: 0...9, repeatRange: 3…4)

var players: [AKPlayer] = []

    // This is triggered by AKSequencer's midi note
    func playRandom() {
    do {
        let player = players1[rand.nextValue()]
        player.play()
        debugPrint("player1 \(player.audioFile!.fileName)")
    }
}

Но на этот раз это кажется сложным, потому что файл размещен на удаленном URL, в Google Firebase.

До сих пор я загрузил несколько аудиофайлов на firebase storage и создал точноетот же firebase database для сравнения / обновления метаданных.Я мог воспроизводить аудиофайл в случайном порядке после загрузки всех аудиофайлов.Это было успешно!Но я ищу способ заранее загрузить только один или два файла , потому что 1) сначала требуется слишком много времени для загрузки всего, и 2) для сохранения пространства данных пользователя.

В идеале я ищу способ загрузки файлов один за другим , но в случайном порядке, так как AKPlayer будет воспроизводить следующий.Как и в случае с игрой в тетрис, пользователь знает, какие блоки идут дальше, но все же он случайный.(Возможно, связано с каким-то плейлистом ??). Буду очень признателен, если я посоветую здесь.<3 </p>

...