AVQueuePlayer无法播放长时间的WAV音频

时间:2019-02-19 03:50:56

标签: ios swift wav avqueueplayer

我尝试播放7分钟,17分钟,20分钟的.wav效果很好,但是尝试播放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
                }
            })
        }
    }

我尝试在没有AVURLAsset的情况下播放音频1小时,如下代码未播放音频。

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

如果我能解决我的问题,那将非常有帮助。或发生这种情况的可能原因?

0 个答案:

没有答案