Swift / iOS:AVAudioPlayer不播放NSData格式的声音

时间:2015-11-21 14:12:17

标签: ios swift parsing audio avaudioplayer

我正在尝试创建一个播放从Parse下载的NSData的AVAudioPlayer

我很确定声音(.wav格式)已上传到Parse。我也确定声音可以以NSData格式从Parse下载。所以我使用Parse:

中下载的数据创建了一个AVAudioPlayer对象
if audioData != nil {
                    print("successful downloading audio!") //this prints out
                    let audioPlayer = try! AVAudioPlayer(data: audioData!, fileTypeHint: AVFileTypeWAVE)
                    audioPlayer.prepareToPlay()
                    audioPlayer.volume = 0.5
                    audioPlayer.play()
                }

如上所示,audioPlayer已创建,但不播放声音。可能出错的地方?

1 个答案:

答案 0 :(得分:1)

这个代码是否在函数中?如果是这样,你在本地制作audioPlayer变量。这意味着创建了audioPlayer,开始播放然后被解除分配(在函数调用结束时),导致没有音频。您的audioPlayer对象需要是类属性或全局空间(例如单例),因此对象生命在函数结束后仍然存在。