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

标签 swift avplayer mpmediaitemcollection

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

最佳答案

这是你的快速代码:

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

关于swift - 在 AVPlayer [Swift] 中播放 MPMediaItemCollection 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30541570/

相关文章:

ios - Xcode 调试器 : fatal error: Array index out of range. 。为什么?

ios - 接收到输入数据后读取并处理

ios - 取消更改 Controller 时,表格 View 单元格内的 Swift Avplayer 仍在播放

ios - 无法在 iOS 中播放与 iPodMusicPlayer 捆绑在一起的歌曲

ios - 如何将 MPMediaItem 添加到 MPMediaItemCollection

iphone - 如何存储用户在我的 iPhone 应用程序中选择的歌曲,并在以后检索并播放?

swift - 如何在没有基值的情况下获得 CGFloat 的最大值?

ios - 如何跟踪自定义 View 外的点击

iphone - 播放音频时 AVPlayer 在 StitchedStreamPlayer 示例中崩溃

ios - 为什么 AVAudioPlayer 在拔下耳机后继续播放?