0

iPod Touch 上のすべてのプレイリストのコレクションを要求するクエリをインスタンス化しました。MPMediaQuery コレクション プロパティから返される結果には、43 項目が含まれます。これらには、ネイティブのミュージック アプリが表示する 17 のプレイリストがすべて含まれます。ただし、コレクションには 26 個の「プレイリスト」も含まれており、実際には私の iPod ライブラリのアルバムです。これは、iPod のアルバムの一部 (すべてではない) を表しています。

アルバムと実際のプレイリストを区別する MPMediaPlaylist 属性があるかどうかを確認しようとしましたが、役に立ちませんでした。コレクションのセクションを調べて、実際のプレイリストがアルバムとは別のセクションに保存されているかどうかを確認しましたが、セクションは 1 つしかありませんでした。最後に、アルバムに PersistantID があるかどうかを調べました。これは、ドキュメントがプレイリストに固有であることを示しています。配列内のすべての項目には PersistantID があります。

Music アプリは 17 の実際のプレイリストだけを問題なく表示するので、何か足りないものがあるに違いない。クエリの作成に使用されるコードは次のとおりです。

MPMediaQuery * myPlaylistsQuery = [ MPMediaQuery playlistsQuery ];
NSArray      * playlists        = [ myPlaylistsQuery collections ];

以下は、「プレイリスト」配列の内容が調べられたときにログに記録されるデータのサンプルです。

================================================== ===
プレイリストのリスト
.... プレイリスト コレクションには 01 のセクションがあります
.... プレイリスト コレクションには 43 個の MPMediaPlaylist オブジェクトがあります
バッハ
.... 持続 ID: 17002820337772537981
Best of Simon and Garfunkel
....持続ID: 2965021518813542622
Blue
.... 永続 ID: 11514004552991695558
Blues
.... 永続 ID: 14243796139384893728
.... (etc)

上記のリストでは、エントリ「Bach」、「Best of Simon and Garfunkel」、および「Blue」がアルバムを表しています。エントリ「ブルース」は、私が iTunes で定義した真のプレイリストの最初のものを表しています。

プレイリスト クエリから返されたアイテムをアルバム クエリのアイテムと比較し、一致するものを除外できると思います。もっと簡単な解決策はありますか?

4

1 に答える 1

0

I'm using [[MPMediaQuery playlistsQuery] collections] frequently and never have get an album returned as result. I guess that there is an issue somewhere else in your code. For example you still can customize the playlistsQuery after creating it with adding/removing parameters manually and if you change to much you could even let the query return albums instead of playlists.

Especially check the groupingType property of the query. For the playlistQuery it should be set to MPMediaGroupingPlaylist per default, but maybe you have overridden or removed this property manually for your query.

Otherwise there only remains the possibility of an bug in your devices system API or iTunes library. But this is very, very, very unlikely!

于 2013-03-15T15:56:10.813 に答える