ios swift 2 解析中的流式音频

Posted

技术标签:

【中文标题】ios swift 2 解析中的流式音频【英文标题】:streaming audio from parse for ios swift 2 【发布时间】:2015-12-11 21:52:27 【问题描述】:

编译后,我有一个代码可以在 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()
        
)

【问题讨论】:

【参考方案1】:

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

    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()
        
    )

【讨论】:

【参考方案2】:

我还没有对此进行测试(我目前没有任何音频文件可以解析),但是,为什么不直接访问 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()
            
        )
    

【讨论】:

您好,我尝试了您的代码,但它没有构建我收到错误。无法将“字符串”类型的值转换为预期的参数类型“NSURL”任何线索?

以上是关于ios swift 2 解析中的流式音频的主要内容,如果未能解决你的问题,请参考以下文章

在 ios swift 中的 NotificationService 中播放流式 URL

如何在 iOS 中使用 swift 共享远程音频文件

Ionic 2 无法使用 IOS 模拟器上资源中的音频文件

列出设备iOS swift中的所有音频文件

通过 POST 命令将音频从 ios 流式传输到 REST 服务器

如何在 swift 中使用 cocoahttpserver 流式传输音频(设备歌曲)?