问题标签 [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.

0 投票
1 回答
362 浏览

objective-c - UITableview + 来自 ipod 库的图像产生不连贯的滚动。有解决方法吗?

我有一个 UITableView,它正在从 MPMediaQuery 加载专辑列表。一切工作正常,直到我注意到一张带有非方形专辑封面的专辑将内置单元格视图的标签文本推向右侧。注意到这是我的失败,因为在此过程中我还注意到滚动不太流畅。

我用笔尖做了一个单元,解决了定位问题,但性能仍然受到影响。在这一点上,我开始做大量的研究,并尽我所能去尝试。

  • 首先是来自 nib 的单元格,带有一个 imageview 和两个标签
  • 为了纠正 imageview 中奇怪的缩放比例,我在 uiview 中添加了 imageview 来裁剪它(对性能没有真正的影响)。
  • 加载图像没有任何后处理,仍然抖动性能。
  • 在 -(void)drawRect 中实现单元格(如 Apple 的 TableViewSuite 示例 #5 中的示例),从 tableview 传递图像。这最初只加载了前约 8 张图像,性能只是略微卡顿。
  • 然后我设置 [myCell setNeedsDisplay] 让它重新绘制单元格,以便所有其他图像都能正确显示,性能又下降了。我还尝试只用图像重绘部分而不做任何更改。
  • 这种只有一张静态图像的方法产生了完美的性能。

我确保所有正常的东西,如 cellIdentifier 等都是正确的,如果单元格视图只有文本,它可以完美滚动。

下面找到使用默认单元格视图之一的 tableviewcell 的实现,以说明我当前如何为单元格获取图像:

在 Apple 的 ipod 应用程序中,带有艺术卷轴的专辑列表就像丝绸一样,很明显,我错过了一些东西。

0 投票
0 回答
395 浏览

mpmediapickercontroller - 使用媒体查询来管理媒体项目选择器选择的集合?

在 iPod Library Access Guide 的第 16 页(其中解释了媒体查询的使用),在描述 MPMediaQuery 的使用之后,有这样的描述:

您也可以构建自己的集合。例如,这对于管理用户使用媒体项目选择器所做的选择很有用。但是请注意,集合是不可变的。

过滤和分组 mediapicker 选定的项目集合 - 这真的可能吗?我彻底查看了指南,但找不到此示例...

任何帮助表示赞赏 - 非常感谢您提前!

0 投票
6 回答
2399 浏览

iphone - 艺术家专辑数量

那是我的问题 =)

如何在 songByArtist 中获取 MPMediaItemCollections 的每个艺术家的专辑数量?

例子:

披头士 3 专辑

AC/DC 6 专辑

谢谢你 !!

0 投票
1 回答
2801 浏览

ios - MPMusicPlayerController 队列问题

我的 MPMusicPlayerController 有一些问题。它是一个 iPodMusicPlayer,而不是一个 appmusicplayer。我的问题是我无法让队列以正确的顺序播放。让我进一步解释一下:

我使用 iPod 选择器选择媒体收藏,然后将其添加到音乐播放器的队列中。完成此操作后,我会在表格视图中显示集合中的项目。然后用户可以“播放”这个队列。但是,由于某种原因,当我尝试使用 ipod 控件浏览播放列表时,队列似乎顺序不正确。这是一些代码:

媒体选择器调用此方法:

}

很简单,这是直接取自苹果的。底部的 NSLog 会注销队列,它看起来是正确的。

从这里用户可以单击播放按钮来播放队列。我是这样设置的:

}

在目标视图控制器中,setNowPlayingItem 方法如下所示:

这会从 tableview 索引路径播放正确的歌曲,但由于某种原因,索引不再匹配它在表中的位置。如果行索引 0 中的歌曲是 ABC,则播放器播放 ABC,但退出不再为 0 的 indexOfNowPlayingItem。当我尝试向前和向后跳过时,队列中的顺序不再保持。我不知道是怎么回事

非常感谢任何帮助,很抱歉包含这么多代码

0 投票
1 回答
5706 浏览

ios5 - 如何在 iOS 上播放列表中的歌曲(仅限歌曲)?

我正在尝试播放 iPod 播放列表中的歌曲。至于播放列表也可能有视频,我只想播放其中的歌曲。

在我加载包含 1 首歌曲和 2 个视频的播放列表后,输出为:

项目计数 3
256
256
1

如果查询旨在检索歌曲,并且媒体项目的媒体类型为 MPMediaTypeMovie (256 或 1 << 8),我不明白为什么我也会收到视频。

有什么建议吗?

0 投票
2 回答
1782 浏览

xamarin.ios - 从 iPod 库中复制项目

我正在尝试将一个项目从 iPod 库复制到我的本地存储空间 - 以供以后播放。我有项目 URl,但它是 (ipod-library://item/item.mp3?id=2398084975506389321) 知道如何访问实际文件吗?

谢谢,瑞克

0 投票
1 回答
573 浏览

ios - 批量获取多个 MPMediaItem 的属性

关于MPMediaItem,有没有办法为多个项目/媒体项目集合中的项目获取属性,这比valueForProperty:单独调用每个项目更有效?

我知道enumerateValuesForProperties:usingBlock:,但这允许批量获取单个媒体项目的多个属性。我对多个媒体项的单个属性感兴趣。

0 投票
1 回答
766 浏览

objective-c - 更新媒体集合队列 MPMediaItemCollection 时短暂停止/开始正在播放项目

我在 xcode 中玩苹果 addMusic 示例应用程序,因为我希望能够添加类似的功能(在应用程序的后台播放用户选择的音乐队列)。

当用户在内置 MediaPicker 中选择他们的歌曲选择后点击“完成”按钮时,音乐播放器会在再次播放之前短暂停止,这很烦人。- 我假设这是因为苹果使用的方法,它将一个新数组应用为队列,并将当前播放状态重置为它停止的位置(就像这样:)

有人遇到过这个问题吗?有没有人能想到的替代/更有效的方法?

提前感谢分享:)

0 投票
0 回答
377 浏览

ios - 当 musicPlayer 使用 setQueueWithItemCollection:playlist 时播放错误的播放列表

我正在尝试使用以下代码从我的 iTunes 库中加载播放列表。该代码适用于所有播放列表名称,但名为“Christmas & pop mix”的播放列表名称除外(其他播放列表名称的名称中也有一个 &)。对于“Christmas & pop mix”,音乐播放器正在加载名为“3, 4, & 5 Star Music”的播放列表。请注意,在下面的 for 循环中可以找到播放列表“Christmas & pop mix”。但实际播放的集合是错误的。任何想法我可以如何追踪这个问题?

0 投票
1 回答
682 浏览

ios - 关于 MPMediaItemCollection 项目 lastObject

我在 MPMediaItemsCollection 中设置了 N 个项目,其中一些项目不是唯一的(该集合代表一个播放列表,同一首歌曲可能会出现两次)。

在一个示例中,我正在生成包含 4 首歌曲的 itemCollection,其中最后一首歌曲是第一首重复的歌曲。如果我尝试获取列表中的最后一个对象,_musicPlayer 将始终播放第一个项目。

第一个 NSLog 打印“itemCollection count 4”,清楚地表明 items 数组中有四个项目。但是,第二个 NSLog 打印“itemCollection lastObject index:0”,表示 items.lastObject 不返回对象和最后一个索引,而是返回相同媒体项出现的第一个索引。

任何人都可以对此有所了解吗?

更正:正如所指出的,indexOfObject:不是返回重复对象索引的有效测试

尽管如此,_musicPlayer.nowPlayingItem = [[itemCollection items] lastObject] 将与 lastObject 相同的第一个实例设置为媒体播放器。似乎 nowPlayingItem 设置器在 itemCollection 上调用 indexOfObject:。解决方法?

跟进

似乎没有办法在 MPMediaPlayer 的队列中选择索引,并且setNowPlayingItem:调用indexOfObject:来查找选定的媒体项。结果是indexOfNowPlayingItem将返回队列中与 nowPlayingItem 相同的第一个实例的索引。就我而言,这会影响我在应用程序中的队列的视觉表示(它是一个滚动视图,每首歌曲都有一个面板)。MPMediaItemCollection 可能不适用于 MPMediaItems 可以多次出现的播放列表。为了获得有关该主题的更多信息,我将填写一份错误报告。