問題タブ [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 に答える
6754 参照

ios - iOSのMPMusicPlayerControllerでMPMediaItemを再生するには?

iOSでMPMedaiItemプレイしようとしています。MPMusicPlayerController私の場合、UITableViewプレイリストの曲を表示する があります。のセルをタップするとUITableView、その曲を で再生したいMPMusicPlayerController。また、次のボタンをタップすると、プレイリストから次の曲をスキップしたいと考えています。どうすれば再生できますか?

didSelectedMethod ofで記述した私のコードの一部を次に示しますUITableView。それは何も再生しません。

0 投票する
1 に答える
2458 参照

ios - MPMediaQuery と iTunes Match の問題

現在デバイスにあるすべてのプレイリストのリストを表示する必要があります。問題は、iTunes Match がオンになっているデバイスでは、電話に保存されているアイテムがゼロのプレイリストがいくつあってもよいことです。(私が知る限り)MPMediaItem downloadを使用しているときにをトリガーする信頼できる方法AVAudioPlayerがないため、ローカル エントリを持たないプレイリストを除外したいと思います。今のところ、個々のプレイリストを循環させて、 を持たない曲を削除することがassetURLできますが、ユーザーが多くのプレイリストを持っている場合、これをグローバルに行うには遅すぎます。音楽ライブラリ全体をフィルタリングして、プレイリストを取得しようとしました

ただし、「コレクション」配列を循環すると、どの曲も除外されないように見えます。曲に があるかどうかでフィルタリングしてみますassetURLが、もちろんそれでフィルタリングすることはできません。

誰かがこれをやってのけるかなり速い方法を持っていますか? MPMediaItem download(代わりに、Apple には iTunes Match の扱いに関する開発者用ドキュメントがないようなので、誰かが をトリガーする適切な方法を見つけましたか?)

0 投票する
3 に答える
1703 参照

ios - MPMediaQueryを使用してアーティストリストを取得するにはどうすればよいですか?

こんにちは私は次のコードでiOSのMPMediaQueryでArtistを取得しようとしています。

MyViewDidLoadenter code here

そして私の中でcellForRowAtIndexPath

で確認するとNSLogarrayOfArtistカウントは約330です。

しかし、私UITableViewの場合、それは表示のみですNULL

私が間違っていることはありますか?

0 投票する
1 に答える
967 参照

iphone - iOSでプレイリストを作成しますか?

サードパーティのプログラムされたアプリからミュージックアプリでできるように、iTunesプレイリストを作成、名前付け、保存することは可能ですか?もしそうなら、どのように?

0 投票する
2 に答える
3002 参照

ios - iOSで最後の再生時間順に並べられた曲のリストを取得する

最近再生されたN曲のリストをiOSデバイスから順番に取得する必要があります。

現時点で私が想像できる唯一の方法は、すべての曲を取得し、MPMediaQuery手動で並べ替えることlastPlayedDateです。

これは潜在的に費用のかかる操作であり、より良いアプローチがあるかどうか疑問に思いました。


編集:いくつかのテストの後、これは非常に費用のかかる操作です。2500曲のテストライブラリでは、次の作業に約20秒かかりました。

  1. すべての曲を入手してください。
  2. 再生したことがないすべての曲に日付を割り当てます(1970年1月1日)。
  3. 日付順に注文してください。
  4. 最初のNエントリをフェッチします。

改善の提案をいただければ幸いです。


編集2:今解決しましたが、記録のために、これが私が行っていたことです。

ここで説明されているように、ブロックを使用して並べ替えていました:https ://stackoverflow.com/a/805589/112702 。並べ替え方法をブライアンの答えに変更するだけで、iPodTouch3の速度が約20倍向上しました。

0 投票する
1 に答える
1696 参照

ios - コレクション内のアイテム数が正しくない iCloud フィルター述語を使用した MPMediaQueryプレイリストクエリ

プレイリストを除くアプリのすべての部分について、iCloud 内のすべてのアイテムを正常に除外しました。プレイリストのリストを表示すると、各セル内にそのプレイリスト内のトラック数を読み取るサブヘッダーがあります。問題は、コレクション内のアイテムの数が正しくないことです (クエリ自体のアイテムの総数は正しいにもかかわらず)。

コード:

ログ:

0 投票する
2 に答える
298 参照

objective-c - 同じコード、異なる結果 - MPMediaQuery のメソッド「collectionSections」

最初に言いたいのですが、私は英語があまり上手ではありません。理解してくださいTT

コードを Xcode に入力しました。

曲の中には クエリ, AZ で始まる曲がたくさんあります. その他の曲.

そして、「collectionSections」メソッドを使用しました

そして、NSLogを使用してログインしました。songSectionArray をチェックインするには

正常に出力されました。問題ありません

しかし、コードをコピーして貼り付けました。

そして、ログに記録しました。

次に、問題があります TT

結果は違った

これは通常の出力です:

そして、これは私がコードをコピーした出力です:

コードは明らかに同じです。しかし、なぜ出力が異なるのでしょうか。

解決策をご存知でしたら教えてください

0 投票する
1 に答える
682 参照

ios - プレイリスト (iPod の場合) の MPMediaQuery には、いくつかのアルバムが含まれています。

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

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

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

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

================================================== ===
プレイリストのリスト
.... プレイリスト コレクションには 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 で定義した真のプレイリストの最初のものを表しています。

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

0 投票する
2 に答える
686 参照

ios - iPod ライブラリの MPMediaItems から「購入日」または「追加日」を取得する方法

ユーザーが iTunes Store から iPod ミュージック ライブラリに新しい曲をダウンロードしたら、それらの曲をプログラムでテーブル ビューに一覧表示したいと考えています。MPMediaItemCollectionから「追加日」や「購入日」を取得することはできますか? 再生回数や最終再生日などのプロパティ キーがあるようです。iTunesで見ることができるのでデータが存在することは知っていますが、見つかりません。これをどこで見つけるか、またはどのように導出するかについての提案はありますか?

0 投票する
2 に答える
1298 参照

objective-c - すべてのビデオ (フォト ライブラリとビデオ アプリから) を uitableviewcell に一覧表示する

すべての動画を一覧表示したい。写真ライブラリの動画だけでなく、動画アプリの動画、映画、テレビ番組、ミュージック ビデオなどもアプリに追加します。

ALAsset を次のように使用した場合:

(UITableViewCell *)tableView:cellForRowAtIndexPath: メソッドでは、フォト ライブラリのビデオのみが表示されます。すべてのタイプを取得する方法はありますか?

前もって感謝します