首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MPMediaItem转换URL

从MPMediaItem转换URL
EN

Stack Overflow用户
提问于 2016-05-15 09:53:11
回答 1查看 504关注 0票数 1

我正在尝试这样做,这样当有人触摸这个UITableView中的手机时,就会开始播放一首歌。每个单元格都有一个与之关联的MPMediaItem。我想用AVAudioPlayer播放这些歌曲。我正在尝试获取MPMediaItem的url,并使用它来获取AVAudioPlayer的歌曲。

代码语言:javascript
复制
var songsList: [MPMediaItem] = MPMediaQuery.songsQuery().items!
var player = AVPlayer()

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let song = songsList[indexPath.section]
        if let url = song.valueForProperty(MPMediaItemPropertyAssetURL) as! NSURL? {
            let newPlayerItem = AVPlayerItem(URL: url)
            player.replaceCurrentItemWithPlayerItem(newPlayerItem)
            player.play()
        }
        else {
            print("Failed to cast to URL")
        }


    }

变量url未能转换为NSURL,我无法找出原因。谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2016-05-15 10:00:39

经过多次测试,我发现问题在于不能将非可选值转换为可选值。因此,在源代码中删除NSURL之后的?。希望它能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37233733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档