问题标签 [mpmediaquery]

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 投票
2 回答
4233 浏览

iphone - iPhone sdk,保存 MPMediaItemCollection?

我的应用程序显示MPMediaPickerController. 我想保存MediaItem并在启动时重新开始播放。我认为使用MPMediaQuery. 看来,我应该使用,MPMediaItemPropertyPersistentID但我不知道如何查询它。有什么想法吗?

0 投票
2 回答
2913 浏览

ios - iPhone 播放特定播放列表/iMix

我想从我的程序中播放特定的播放列表(构建为 iMix),只要它存在。我可以使用

获取专辑中的所有歌曲(以及艺术家的许多其他选项等),但似乎无法访问播放列表。

有没有其他方法可以做到这一点,或者我是否会被迫将所有歌曲存储在我的代码中的播放列表中并以这种方式访问​​它们?

0 投票
2 回答
2417 浏览

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

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

我希望有人能帮帮忙。

彼得

0 投票
4 回答
4236 浏览

iphone - MPMediaItemPropertyPersistentID 的 NSNumber 到 NSString 并再次返回

我正在使用以下代码循环播放 iPhone 音乐库中的所有歌曲:

很基本的东西。

我得到 PersistentID 是NSString因为我需要将它写入 XML 文件(以便通过网络传输到另一台设备)。因此,我不能将其保留为NSNumber.

然后,另一台设备将通过再次传回 PersistentID 来要求 iPhone 播放曲目。

此时,iPhone 有一个NSString它应该播放的曲目的 PersistentID。

再次循环播放每首歌曲并比较 PersistentID 直到找到我想要的曲目会很麻烦,所以我尝试使用MPMediaPropertyPredicateiPhone 搜索我。

我正在使用以下代码进行搜索:

较早persistentID的从哪里来。NSString

奇怪的是,这适用于某些歌曲,而不适用于其他歌曲。即,有时items数组不是空的,即使我传递的是一个NSString,而不是一个NSNumber

我想知道是否有办法将我的NSString背部转换为NSNumber它的来源,以及我该如何做到这一点。

更新:我试过 NSNumberFormatter,我也试过类似的东西:

我已经尝试了所有标准的方法,但没有占上风。

0 投票
4 回答
2743 浏览

iphone - setVolume 无法在 AVMutableAudioMixInputParameters 上使用手机本地 iPod 库播放

我目前正在尝试使用 AVPlayer 而不是 MPMusicPlayerController 使用应用程序控制器从手机本地 iPod 库中播放音乐。

我可以使用 MPMediaQuery 从本地 iPod 库中选择一个音轨,但是当我尝试使用 AVMutableAudioMixInputParameters 在较低级别启动音频时,它似乎根本没有降低音量。

我使用 AVPlayer 而不是 MPMusicPlayerController 的原因是我同时在后台播放一些其他音频,而 MPMusicPlayerController 无法播放,因为使用 AVPlayer 的现有音频文件占用了硬件。我现在的代码是:

所以此时数组是我的库中的一组曲目。

现在抓住一个并使用 AVPlayer 播放它:

我可以确认在使用 AVPlayer 播放来自 URL(流)的文件时调整音量有效;只是在本地图书馆播放时不会。

我意识到我没有在这里进行任何内存管理;只是想让它首先工作。此外,本地播放器是一个属性,因此没有明确的保留。

任何帮助将不胜感激!

谢谢。

0 投票
2 回答
3775 浏览

iphone - NULL MPMediaitemPropertyAssetURL

使用 MPMediaQuery 然后从歌曲结果中获取 MPMediaitemPropertyAssetURL 有时会返回 null(有时我的意思是在这种情况下,是用户歌曲库的 1/3)。

有谁知道这是什么原因?我假设这是由于某种 DRM 造成的,但在任何地方都没有记录。

0 投票
1 回答
928 浏览

iphone - 通过 MPMediaItemPropertyPersistentID 使用“addFilterPredicate”函数一次查询两首或多首歌曲

我的应用程序在启动时会自动加载音乐播放列表。为此,我将歌曲 ID 存储MPMediaItemPropertyPersistentID到数据库中,并在下次启动应用程序时加载歌曲。主要代码如下:

代码一一加载歌曲。MPMediaItemPropertyPersistentID我的问题是:有没有办法在使用该功能时一次查询两首或多首歌曲addFilterPredicate:?谢谢。

0 投票
1 回答
249 浏览

iphone - 在 mpplayer 中存储多首歌曲,这些歌曲是从具有歌曲持久 ID 的数据库中获取的

我正在尝试在 mpplayer 中存储多首歌曲,这些歌曲是从具有歌曲持久 ID 的数据库中获取的。但是只添加了一首歌曲。这就是我正在做的事情

MPMediaQuery *query = [MPMediaQuery 歌曲查询]; MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:persistentId forProperty:MPMediaItemPropertyPersistentID]; [查询 addFilterPredicate:predicate]; NSArray *mediaItems = [查询项目]; //这个数组将包含给定persistentId的歌曲。将其添加到收藏并播放 MPMediaItemCollection *col = [[MPMediaItemCollection alloc] initWithItems:mediaItems]; ///.... [col 释放];

提前致谢

问候德文史密斯

0 投票
1 回答
3901 浏览

ios - 使用 MPMediaQuery 通过评分查询 ios 库

我正在开发一个 iphone 4 应用程序,该应用程序通过不同的标准过滤本地媒体库。我已经能够按歌曲名称、艺术家和流派进行过滤。现在我需要添加一个评级过滤机制。我在想类似“评级> = N星”(N:0..5)

我用来过滤的代码是:

但 MPMediaPropertyPredicate 不允许按 MPMediaItemPropertyRating 过滤(实际上它适用于艺术家和歌曲标题)。

我通过 MPMediaItemPropertyRating 进行谷歌搜索,但似乎我应该找到另一种按曲目评级过滤的方法。

有人可以给我小费吗?

谢谢

更新:这是我解决这个问题的代码:

0 投票
1 回答
515 浏览

objective-c - Objective-C 中的神秘 SQLite 控制台输出

当运行我的程序来查询我的 iPhone 的 iPod 库时,我在控制台中得到以下输出:

CPSqliteStatementPerform:尝试为 UPDATE ddd.ext_container SET orig_date_modified = (SELECT date_modified FROM container WHERE pid=container_pid) WHERE orig_date_modified=0 写入只读数据库

我已经禁用了输出到控制台的所有内容,所以好像我的 NSLog 没有错误。这里发生了什么,我该如何解决。我将包括我正在调用的整个类源代码,以及完成工作的类(很抱歉将其全部发布:

这是在 MakeDicForSongInfo 中完成的实际首当其冲的工作:

访问所有吓坏 iPhone 的媒体信息会不会是某种东西?