问题标签 [mpmediaitem]

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 回答
1081 浏览

iphone - MPMediaPickerController - 错误选择后取消选择

在我编写的代码和 Apple 的示例 AddMusic 代码(http://developer.apple.com/iphone/library/samplecode/AddMusic/index.html 仅在设备上运行)中,问题都很明显。

一旦您在单击某个项目时打开 MPMediaPickerController,随后似乎无法取消选择它。它实际上只是再次添加到 MPMediaItemCollection 中(这很好,我可以稍后过滤重复项)。

让我感到奇怪的是,您在选择某些内容后无法取消选择它。我以前认为实现是为了让“添加”按钮几乎可以作为一个打开和关闭的复选框。

我是否遗漏了文档中解释如何在 MPMediaPickerController 中取消选择的内容?

0 投票
3 回答
17645 浏览

iphone - MPMediaItems 原始歌曲数据

我想知道如何访问 MPMediaItem 的原始数据。

有任何想法吗?

0 投票
1 回答
1432 浏览

iphone - 如何从 MPMoviePlayerController 获取 MPMediaItem?

我如何从 MPMoviePlayerController 获取 MPMediaItem,因为我可以在 MusicPlayer 的情况下获取它,如下所示

但是如何从 MPMoviePlayerController 中获取呢?甚至可能吗?

事实上,我想获取有关当前正在播放的电影项目的信息,例如它的标题、艺术家等,是否可以获取视频文件的元数据?

0 投票
1 回答
809 浏览

ios - 获取 iPod 播放器项目的 iTunes ID

我有一个与 iPod 播放器和 iTunes Store Web Service Search API 交互的应用程序。有没有办法获取我从用户的 iPod 库中检索的歌曲的 iTunes ID(例如,通过 MPMusicPlayerController 或 MPMediaItem)?

该文档说 MPMediaItemPropertyPersistentID 是一个唯一标识符,在应用程序启动期间持续存在。然而,这似乎是一个唯一的本地 ID。

我能想到的唯一解决方案是从 MPMediaItem 检索歌曲标题和艺术家,然后查询 iTunes 以获取 iTunes ID。iTunes ID 是否存储在本地 iPod 库中的任何位置?

谢谢 - 我对媒体框架很陌生。

0 投票
1 回答
333 浏览

iphone - 像 iPod.app 上一样平滑的表格视图

我试图重做 ipod.app 中的表格视图。带有 2 个标签和左侧封面的那个。我想要那里相同的信息。我的意思是封面加上所有其他 MPMediaItem 的东西。一切正常。我可以建立表格并从我需要的音乐库中获取所有信息。我唯一的问题是我的桌子远非光滑。它缺乏。当我从表中删除 MPMediaArtworkItem 时,它的速度非常快。所以我想这是一个问题。

有什么方法可以更快地加载 MPMediaProperties?最快的方法是什么?

提前 THX :)

0 投票
3 回答
1221 浏览

iphone - 在自己的应用程序中使用 iPhone 音频文件 - 复制音频文件 - 这可能吗?

我喜欢用户从可用的音频列表中选择一个音频文件并将其复制到我自己的应用程序中。在 Apple 示例代码“ AddMusic”中检索到的 userMediaItemCollection 项目中,有属性:MPMediaItemPropertyAssetURL。但我无法做到这一点,因为我收到错误“ MPMediaItemPropertyAssetURL undeclared” - 尽管我导入了MPMediaItem.h.

在苹果文档中它说:

MPMediaItemPropertyAssetURL

指向媒体项目的 URL,可以从中创建 AVAsset 对象(或其他基于 URL 的 AV Foundation 对象),并根据需要使用任何选项。值是一个 NSURL 对象。

该 URL 具有 ipod-library 的自定义方案。例如,一个 URL 可能如下所示:ipod-library://item/item.m4a?id=12345

适用于 iPhone OS 4.0 及更高版本。

在 MPMediaItem.h 中声明


非常感谢

0 投票
2 回答
2417 浏览

iphone - 同步后立即从 iPod 库中加载歌曲

我正在开发一个使用 iPod 库播放一些歌曲的 iPhone 应用程序。我用下面的代码加载歌曲。问题是,在设备与 iTunes 同步后立即运行此代码时,会出现问题。显然 iPod Library 需要更新,而且需要一些时间。如果我在同步后立即进入 iPod 应用程序,我会看到一条消息说“正在更新库..”。如果我在发生这种情况时从我的应用程序中调用“[query items]”,我会得到一个空数组,表明库中没有歌曲。更新结束后一切正常。有没有办法解决这个问题?也许是一种检测更新何时结束的方法。我试图听所有的 NSNotifications,但更新完成时没有调用任何内容。

我希望有人能帮帮忙。

彼得

0 投票
1 回答
361 浏览

objective-c - 如果使用 iPodMusicPlayer,则获取下一首和上一首曲目

我为我的 MPMusicController 使用 iPodMusicPlayer。

我的问题是,一旦我的应用程序启动并将继续 iPod 应用程序正在播放的内容,我可以检索 iPod 音乐应用程序的下一首和上一首曲目的 MPMediaItem 吗?我似乎无法找到一种方法来了解用户是否在 iPod 音乐应用程序上选择了专辑、艺术家或歌曲作为他/她的选择。如果我能知道,我可以根据属性检索列表并从那里开始..

.. 或者我应该只使用 applicationMusicPlayer?

谢谢!

0 投票
1 回答
1395 浏览

iphone - nowPlayingItem 在播放列表中的位置/向 MPMediaItem 添加类别

我试图找出 MPMusicPlayerController 在其播放列表中的 nowPlayingItem 的曲目编号。这将非常简单,除了同一首歌曲可以在同一个播放列表中出现多次(因为它们都指向同一个文件)。例如,如果一个播放列表由 Song 1、Song 2、Song 1、Song 3、Song 2 组成,我会纠结于如何确定 nowPlayingItem 是播放列表中的第一个项目还是第三个项目。

我最接近解决问题的方法是为 MPMediaItem 创建一个类别,该类别添加一个关联对象(一个 NSNumber),其中包含一个“播放列表中的数字”值和一个 MPMusicPlayerController 类别,该类别为之前播放列表中的每个 MPMediaItem 设置该值将其添加到队列中。

MPMediaItem+playlistNumber.h

MPMediaItem+playlistNumber.m

MPMusicPlayerController+NumberTracks.h

MPMusicPlayerController+NumberTracks.m

在 NumberTracks 类别实现中,我尝试了 3 种不同的方式(两个大的注释部分和一个大的未注释部分)来实现 numberInPlaylist“属性”的分配。但是,当我尝试获取 nowPlayingItem MPMediaItem 时,numberInPlaylist 值始终返回 (null)。实际上有可能实现我想要做的事情吗?在这一点上,我慢慢失去了它可以做到的信念。

0 投票
3 回答
2405 浏览

iphone - Iphone - 用歌词编写媒体播放器

我想编写一个简单的媒体播放器,它显示从网络上检索到的歌词。

我知道 LyricWiki 曾经是这样的来源,但现在已不存在。是否存在我可以使用的新 API 或歌词来源?当我得到歌词时,如何将它们与歌曲同步?

我知道 MPMediaItem 类具有 MPMediaItemPropertyLyrics 但这对我来说显然不够,因为这仅适用于来自 Itunes 的歌曲,并非所有歌曲都有可用的歌词。

我将不胜感激任何可以用来解决此问题的帮助或链接。