【问题标题】:Retrieving music from music library and Not able to figure out how can i retrieve the artpictures and names of songs from MPMediaItem从音乐库中检索音乐并且无法弄清楚如何从 MPMediaItem 中检索歌曲的艺术图片和名称
【发布时间】:2017-01-17 04:22:40
【问题描述】:

所以基本上我想创建一个音乐播放器,所有用户都可以使用我自己定制的音乐播放器播放他们设备中的歌曲。我现在使用这段代码来获取列表:

import UIKit
import MediaPlayer

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    let mediaItems = MPMediaQuery.songsQuery().items

    let mediaCollection = MPMediaItemCollection(items: mediaItems!)

    print(mediaItems)
  }
}

这会打印一个这样的列表:

([<MPConcreteMediaItem: 0x14de96260> 1273733459653912039, <MPConcreteMediaItem: 0x14de964f0> 3069043783347985482, <MPConcreteMediaItem: 0x14de96780> 3069043783347985483, <MPConcreteMediaItem: 0x14de96a10> 914421989453240435])

我想在 tableview 中显示歌曲名称和图片艺术,但我是新的 MPMediaItems.. 任何帮助都会很明显。谢谢

【问题讨论】:

  • 您的问题/问题是什么?
  • @rmaddy 我有这个mediaItems 数组我想向用户展示他们手机中的歌曲名称和图片艺术......就像iTunes一样。
  • 这不是问题。不要只发布你想做的事情。解释你的问题或问题是什么。该站点旨在帮助您解决已经尝试过的问题。它不是为你编写代码。
  • 如果你能帮助回答一个初学者就足够了:)
  • this 的可能重复项。或this one。请先研究关于 SO 的类似问题。

标签: ios swift mpmediaquery mpmediaitemcollection


【解决方案1】:

你可以通过property: artwork获取MPMediaItem的图片,通过property: title获取歌曲名称。以下代码是用 Objective-c 而不是 Swift 编写的,但它会给你一些想法。

for ( MPMediaItem *item in [MPMediaQuery songsQuery] ){
  // print name
  NSLog(@"song name: %@" , item.title);
  // set picture of the item into a UIImage
  UIImage *image = item.artwork;
  // show the image somewhere
  ...
}

【讨论】:

    猜你喜欢
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多