AVQueuePlayer не воспроизводит длительное аудио WAV - PullRequest
0 голосов
/ 19 февраля 2019

Я пытался воспроизвести .wav из 7 минут, 17 минут, 20 минут, работает нормально, но при попытке воспроизвести аудио продолжительностью 1,04 часа это не работает.

И я уверен, что это так.Используемый мной wav-файл не поврежден, так как он используется приложением для Android, и они могут получить длительность.

При воспроизведении аудио продолжительностью 1,04 часа это приводит к .failed, код ниже

if let url = URL(string: urlString) {
        audioAsset = AVURLAsset.init(url: url)

        if let audioAsset = audioAsset {

            let keys = ["playable"]

               audioAsset.loadValuesAsynchronously(forKeys: keys, completionHandler: {

                let playableStatus = audioAsset.statusOfValue(forKey: keys[0], error: nil)
                switch playableStatus {

                case .unknown,  .loading,  .failed,  .cancelled:
                    return

                case .loaded:

                    DispatchQueue.main.async {

                        let playerItem = AVPlayerItem.init(asset: audioAsset)
                        self.audioPlayer.insert(playerItem, after: nil)
                        self.audioPlayer.play()

                        })
                    }
                    break
                }
            })
        }
    }

Я пытался воспроизвести аудио 1 час без AVURLAsset, как показано ниже. Код не воспроизводился.

let playerItem = AVPlayerItem.init(url: url)
self.audioPlayer.insert(playerItem, after: nil)
self.audioPlayer.play()

Было бы очень полезно, если бы я нашел решение для моей проблемы.или возможная причина, почему это происходит?

...