如何在 swift 2 中播放来自 parse.com 的音频
how to play audio from parse.com in swift 2
我正在尝试播放来自 parse.com 的音频。我正在获取 pf 文件,但无法播放音频。
func testing() {
let query = PFQuery(className: "Attractions")
query.whereKey("objectId", equalTo: "hDyP0SwbAQ")
query.findObjectsInBackgroundWithBlock { (result, error) -> Void in
for obj in result! {
let path = obj.objectForKey("attraction_file") as! PFFile
self.playWithURL(path)
}
}
}
func playWithURL(url:PFFile) {
do {
let audioPlayer = try! AVAudioPlayer(contentsOfURL: url)
audioPlayer.prepareToPlay()
audioPlayer.play()
}
}
提前致谢
我找到了答案。
早些时候我使用的是 AVAudioPlayer,这就是我收到错误的原因。
现在我正在使用 AVPlayer 并且我的代码运行完美。
var avAudioPlayer:AVPlayer? // 在 class
中声明
func testing() {
let query = PFQuery(className: "Attractions")
query.whereKey("objectId", equalTo: "hDyP0SwbAQ")
query.findObjectsInBackgroundWithBlock { (result, error) -> Void in
for obj in result! {
let path = obj.objectForKey("SongFile") as! PFFile
self.playWithURL(path)
}
}
}
有趣的 playWithUrl(url : 字符串) {
self.avAudioPlayer = AVPlayer(URL: NSURL(string: url!)!)
avAudioPlayer?.play()
}
我正在尝试播放来自 parse.com 的音频。我正在获取 pf 文件,但无法播放音频。
func testing() {
let query = PFQuery(className: "Attractions")
query.whereKey("objectId", equalTo: "hDyP0SwbAQ")
query.findObjectsInBackgroundWithBlock { (result, error) -> Void in
for obj in result! {
let path = obj.objectForKey("attraction_file") as! PFFile
self.playWithURL(path)
}
}
}
func playWithURL(url:PFFile) {
do {
let audioPlayer = try! AVAudioPlayer(contentsOfURL: url)
audioPlayer.prepareToPlay()
audioPlayer.play()
}
}
提前致谢
我找到了答案。
早些时候我使用的是 AVAudioPlayer,这就是我收到错误的原因。 现在我正在使用 AVPlayer 并且我的代码运行完美。
var avAudioPlayer:AVPlayer? // 在 class
中声明 func testing() {
let query = PFQuery(className: "Attractions")
query.whereKey("objectId", equalTo: "hDyP0SwbAQ")
query.findObjectsInBackgroundWithBlock { (result, error) -> Void in
for obj in result! {
let path = obj.objectForKey("SongFile") as! PFFile
self.playWithURL(path)
}
}
}
有趣的 playWithUrl(url : 字符串) {
self.avAudioPlayer = AVPlayer(URL: NSURL(string: url!)!)
avAudioPlayer?.play()
}