【问题标题】:iOS + Swift, How to access all music files [closed]iOS + Swift,如何访问所有音乐文件 [关闭]
【发布时间】:2015-03-19 06:16:03
【问题描述】:

我正在使用 swift 在 iOS 中制作应用程序。我想要做的是在 iPhone 存储上获取所有音乐文件,就像 iTunes 一样:我想要显示标题、专辑以及播放曲目。

我是 iOS 编程新手:我应该学习和使用什么 iOS 框架来实现我的目标?

提前致谢。

【问题讨论】:

  • 不,您无法访问在 iTunes 中看到的音乐;但是您可以访问存储在应用程序文件夹中的音乐。
  • 什么意思,我们无法访问 iTunes 中的音乐?
  • 我要做的是获取我目录中的所有音乐文件,这样我就可以在我的应用程序上播放音乐标题、音乐专辑和音乐。

标签: ios swift


【解决方案1】:

这个问题有点不清楚(至少对我来说)。

您正在寻找一种音乐播放器应用程序?您想添加自己的音乐 (A) 或使用用户在其Music App Library (B) 中拥有的音乐?

在第二种情况下,您可能正在寻找类似的东西。

音乐文件由 MPMediaItem 实例表示。您可以通过 MPMediaQuery 检索它们,例如:

// All
let mediaItems = MPMediaQuery.songsQuery().items
// Or you can filter on various property
// Like the Genre for example here
var query = MPMediaQuery.songsQuery()
let predicateByGenre = MPMediaPropertyPredicate(value: "Rock", forProperty: MPMediaItemPropertyGenre)
query.filterPredicates = NSSet(object: predicateByGenre)

此时,您的音乐应用库中包含所有(或部分过滤)歌曲,因此您可以在设置播放列表队列后使用MPMusicPlayerController 播放它们:

let mediaCollection = MPMediaItemCollection(items: mediaItems)

let player = MPMusicPlayerController.systemMusicPlayer()
player.setQueueWithItemCollection(mediaCollection)

player.play()

可能有可能以某种方式访问​​歌曲中的元数据(标题、流派、艺术家……)。

这可能不适用于模拟器。

【讨论】:

  • 我想要的是使用/获取存储在用户 iPhone 设备上的所有音乐文件,或者我们可以说用户 iTunes 上列出的音乐。上述方法是否可以按我的意愿工作?跨度>
  • 感谢您的回复,这非常有帮助。不过,我正在按照code.tutsplus.com/tutorials/… 的步骤进行操作
  • 谢谢。注意:请改用 systemMusicPlayer(),因为 iPodMusicPlayer() 在 iOS 8 中已弃用。
猜你喜欢
  • 2020-04-29
  • 1970-01-01
  • 2017-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多