【问题标题】:Play items from MPMediaItemCollection in AVPlayer [Swift]在 AVPlayer [Swift] 中播放 MPMediaItemCollection 中的项目
【发布时间】:2015-05-30 02:23:09
【问题描述】:

事情就是这样,我有一个 MPMediaItemCollection,其中包含用户选择的项目(来自库)。我使用 mediaPicker 来做到这一点。现在,我需要从这些项目中获取 URL,以便我可以在 AVPlayer 上播放它们。 This is the best I can find,但是当我“翻译”为 swift 时,它会变得一团糟。如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: swift avplayer mpmediaitemcollection


    【解决方案1】:

    这是您的快速代码:

    func mediaPicker(mediaPicker: MPMediaPickerController!, didPickMediaItems mediaItemCollection: MPMediaItemCollection!) {
    
        for thisItem in mediaItemCollection.items as! [MPMediaItem] {
            let itemUrl = thisItem.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL
            self.dismissViewControllerAnimated(true, completion: nil)
    
            // Play the item using MPMusicPlayer
            var appMusicPlayer = MPMusicPlayerController.applicationMusicPlayer()
            appMusicPlayer.play()
    
            // Play the item using AVPlayer
            let playerItem = AVPlayerItem(URL: itemUrl)
            let player = AVPlayer(playerItem: playerItem)
            player.play()
        }
    }
    

    【讨论】:

    • 非常感谢,它运行良好,但我有疑问。 When more than one music is chosen it only plays the last one.你知道怎么改吗?
    • 你只需要获取第一项 mediaItemCollection.items.first 为! MPMediaItem
    猜你喜欢
    • 2015-09-26
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多