问题标签 [mpmediaitemcollection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 从 iOS 媒体库中获取所有艺术家的列表
我希望获取用户库中的一个MPMediaItemCollection
或NSArray
所有艺术家。这是我当前的代码(显然不起作用):
ios - 无法在 iOS 中与 iPodMusicPlayer 捆绑播放歌曲
我正在尝试使用iPodMusicPlayer
.
我不想玩AVPlayer
。
这是我的一些代码:
首先,我从文档目录中检索所有 mp3,并将它们添加到NSMutableArray
.
然后我将它们添加到一个MPMediaItemCollection
和 setQueue 中进行播放。然后我玩。
但是当我玩的时候,它只显示MediaPlayer: Message nowPlayingItem timed out in iOS
。
当我使用上面的代码播放 iPod 库中的歌曲时,我没问题。
但我无法播放 App Bundle 中的歌曲。
NSLog
方法还显示了文档目录中歌曲的正确计数。
但我不能玩。
我怎样才能?
ios - 如何从 iPod Library 中的 MPMediaItems 中获取“购买日期”或“添加日期”
当用户从 iTunes Store 将新歌曲下载到他们的 iPod 音乐库中时,我想以编程方式在表格视图中列出这些歌曲。是否可以从 MPMediaItemCollection 中获取“添加日期”或“购买日期”?我看到有诸如播放计数和上次播放日期之类的属性键。我知道数据存在,因为它可以在 iTunes 中查看,但我没有找到它。关于在哪里找到它或如何得出它的任何建议?
iphone - iPhone闹钟应用程序中的贪睡闹钟?
我一直在开发闹钟应用程序并使用本地通知来弹出警报。我还需要根据用户在用户设置中设置的时间间隔来暂停闹钟。
在应用程序启动之前,用户不能打盹,即调用下面提到的方法。
当我通过在firedate中添加时间间隔并重新安排本地通知来调用该方法来打盹警报时。
问题是应用程序进入前台,根据 Apple 的 HIG,我不应该终止应用程序或将应用程序自动发送到后台,因此用户需要按主页按钮在后台发送应用程序。
最近,我遇到了这个应用程序。它可以按我想要的方式打盹闹钟。
另一个问题是我可以在这个应用程序中从我的音乐库中选择要播放的声音。
知道这个应用程序是如何做到的吗?
performance - 如何提高获取 UITableView 的索引部分的性能
我正在为表格视图创建索引部分,以显示 iPod 库中的歌曲标题。为此,我使用 sectionForObject:collationStringSelector: 循环遍历歌曲查询中的所有 mediaItems。以下代码在 viewDidLoad 中执行,以获取表的节数和每个节的行数:
不幸的是,对于 2000 首歌曲,这需要将近 15 秒。分配 channelButtonTitle 对象的时间和 sectionForObject:collationStringSelector: 的执行时间都可以忽略不计。
似乎大部分时间都花在了获取 valueForProperty 的行上,尽管这行:
需要 5 秒。
如何提高创建索引部分的性能(或至少提高用户等待某事发生的时间)?
ios - 如何停止 MPMediaPickerController 用重复的 MPMediaItems 填充 MPMediaItemCollection?
我使用此代码选择曲目
在选择项目时,MPMediaPickerController
我注意到按两次相同的项目会将其添加到MPMediaItemCollection
两次。当我将曲目导入我的应用程序时,我最终导入了两次。
我想要一种方法来指定轨道只添加一次,或者如果失败,则能够从选择中过滤掉重复的轨道。如果这是可能的,我将如何去做?
我的目标是iOS5。
ios7 - 在 iOS7 上获取流派列表
我尝试使用以下代码在装有 iOS 7.0.3 的 iPhone 5S 上获取流派列表:
问题是,这段代码得到了正确的流派计数,但不是正确的名称。一些名称和 ID 显示了两次,而另一些则丢失了。
该代码在装有 iOS 6.1.3 的 iPod 上运行良好。
有人给我小费吗?
谢谢,斯特凡
ios - NSKeyedArchiver Doesn't Seem Properly Save an MPMediaItemCollection Object
I am trying to save a playlist of songs created with the media picker. I tried to use the suggestion provided in Persist a MPMediaItemCollection Object Using NSUserDefaults. This solution uses NSKeyedArchiver as follows:
Then when the MPMediaItemCollection needs to be retrieved, the following is performed:
While this seemed to work at first, I found that it doesn't work consistently over time. It seems that after my app is loaded after a new software release, some of the media items in the playlist are corrupted. For example, when I try to load the song title from the retrieved MPMediaItemCollection for display in a tableView as follows:
the song title is nil for some of the entries. If I try to grab the persistentID for the song at this index in the queue, there is a persistentID, but it doesn't point to a valid song (so its probably just garbage).
SO THE QUESTION IS: Is it possible to save a MPMediaItemCollection that I can be sure is valid across all launches and software upgrades (both my upgrades and iOS upgrades). If so, how?
ios - 在 MPMusicPlayerController 中播放 MPMediaItemCollection 随机播放,但让用户选择第一个项目?
我正在开发一个与 iOS 上的 iPod Music 应用程序集成的应用程序。它显示不同的音乐分组(即 MPMediaItemCollections),并允许用户使用 [MPMusicPlayerController ipodMusicPlayer] 在音乐应用程序中播放这些分组。
我的问题是我很难让随机播放功能在我的应用程序和音乐应用程序之间以相同的方式工作。当我播放歌曲时,我会调用:
如果关闭随机播放,这将非常有用。如果用户选择一首歌曲(它是专辑的一部分),则会在音乐应用程序中播放专辑并从指定的歌曲开始播放。
但是,如果打开了随机播放,这似乎是先随机播放歌曲,然后按照它们刚刚随机播放的顺序跳转到新的 nowPlayingItem。这样做的问题是,除非 nowPlayingItem 被随机播放到第一个命令,它最终不会播放专辑中的所有歌曲。
MPMusicPlayerController 文档谈到 nowPlayingItem:“要指定播放应该从播放队列中的特定媒体项目开始,请在音乐播放器停止或暂停时将此属性设置为该项目。”
所以,我想知道是否有一种方法可以使这项工作适用于随机播放模式 - 从专辑中的一首用户选择的歌曲开始,然后播放所有其他随机播放的歌曲。还是我应该只创建一个自定义 MPMediaItemCollection 并为此自己洗牌?
ios - 将原始音乐文件从主包转换为 MPMediaItem
有什么方法可以从捆绑在主包中的原始 mp3 文件作为资源获取 MPMediaItem 的引用?
提前致谢。