繁体   English   中英

解析来自iOS Swift 2的流音频

[英]streaming audio from parse for ios swift 2

编译完一切似乎还不错之后,我有一个代码可以在ios上快速解析来自ios的流音频,并且音频文件可以准确同步,但是当我选择它们时,扬声器没有音频输出。 在swift 2上不再编译它的说法,即使用url的模棱两可,这是swift编写的func,希望我们可以将其转换为swift 2,谢谢:

    func grabSong(){
    let SongQuery = PFQuery(className: "songs")
    SongQuery.getObjectInBackgroundWithId(iDArray[SelectedSongNumber], block:{

        (object: PFObject?, error:NSError?)-> Void in

        if let AudioFileURLTemp = object?.objectForKey("songFile")?.url {

           AudioPlayer = AVPlayer(URL: NSURL(string: AudioFileURLTemp! ))
        AudioPlayer.play()
        }
})

}

是的,它正在工作,只有您需要检查可选性,如下所示:

    func grabSong() {
    let SonQuery = PFQuery(className: "Songs")
    SonQuery.getObjectInBackgroundWithId(idArray[SelectedSongNumber], block: {
        (object: PFObject?, error:NSError?) -> Void in
        if let audioFIleTemp: PFFile = object?.valueForKey("SongFile") as? PFFile {
            AudioPlayer = AVPlayer(URL: NSURL(string: audioFIleTemp.url!)!)
            AudioPlayer.play()
        }
    })
}

我尚未对此进行测试(我目前没有任何解析中的音频文件),但是,为什么不访问pffile然后转换为url呢? 它看起来像这样:

func grabSong(){
        let SongQuery = PFQuery(className: "songs")
        SongQuery.getObjectInBackgroundWithId(iDArray[SelectedSongNumber], block:{

            (object: PFObject?, error:NSError?)-> Void in

            if let songFile: PFFile = object?.valueForKey("songFile") as? PFFile {
                AudioPlayer = AVPlayer(URL: songFile.url)
                AudioPlayer.play()
            }
        })
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM