Swift/iOS: AVAudioPlayer 不播放 NSData 格式的声音
Swift/iOS: AVAudioPlayer does not play sound in NSData format
我正在尝试创建一个 AVAudioPlayer
来播放从 Parse 下载的 NSData。
我很确定声音(.wav
格式)已经上传到 Parse。我也确定可以从 Parse 下载 NSData
格式的声音。所以我正在使用从 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
已创建,但它不播放声音。可能哪里错了?
这段代码在一个函数中吗?如果是这样,您在本地创建 audioPlayer 变量。这意味着 audioPlayer 被创建,开始播放然后被释放(在函数调用结束时),导致没有音频。您的 audioPlayer 对象需要是 class 属性 或在全局 space 内(例如单例),因此对象生命在函数结束后仍然存在。
我正在尝试创建一个 AVAudioPlayer
来播放从 Parse 下载的 NSData。
我很确定声音(.wav
格式)已经上传到 Parse。我也确定可以从 Parse 下载 NSData
格式的声音。所以我正在使用从 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
已创建,但它不播放声音。可能哪里错了?
这段代码在一个函数中吗?如果是这样,您在本地创建 audioPlayer 变量。这意味着 audioPlayer 被创建,开始播放然后被释放(在函数调用结束时),导致没有音频。您的 audioPlayer 对象需要是 class 属性 或在全局 space 内(例如单例),因此对象生命在函数结束后仍然存在。