在 AVPlayer [Swift] 中播放 MPMediaItemCollection 中的项目

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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

以上是关于在 AVPlayer [Swift] 中播放 MPMediaItemCollection 中的项目的主要内容,如果未能解决你的问题,请参考以下文章

我无法在 swift 2.3 中播放保存在目录路径和 AVPlayer 中的视频

迅速。在模拟器上播放良好的 mp3 文件,但在设备上播放时没有音量。 AVPlayer

为啥 Swift 的 AVPlayer 一次播放会加载 playerItem 两次?

如何检测 AVPlayer 视频何时结束播放?

Swift 应用程序中的 AVPlayer 问题

Swift/AppleTV4:如何将 AVPlayer 功能连接到 AVPlayerViewController?