我正在尝试创建一个播放从Parse下载的NSData的AVAudioPlayer
。
我很确定声音(.wav
格式)已上传到Parse。我也确定声音可以以NSData
格式从Parse下载。所以我使用Parse:
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
已创建,但不播放声音。可能出错的地方?
答案 0 :(得分:1)
这个代码是否在函数中?如果是这样,你在本地制作audioPlayer变量。这意味着创建了audioPlayer,开始播放然后被解除分配(在函数调用结束时),导致没有音频。您的audioPlayer对象需要是类属性或全局空间(例如单例),因此对象生命在函数结束后仍然存在。