問題タブ [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.
iphone - iPhone SDK、MPMediaItemCollection を保存しますか?
アプリケーションにMPMediaPickerController
. MediaItem
を保存して、起動時に再生を再開したいと思います。を使えば可能だと思いますMPMediaQuery
。を使用する必要があるようMPMediaItemPropertyPersistentID
ですが、クエリの方法がわかりません。何かご意見は?
ios - iPhoneで特定のプレイリスト/iMixを再生
プログラムから特定のプレイリスト (iMix として作成されたもの) が存在する限り再生したいと考えています。私は使用することができます
アルバム内のすべての曲を取得するには(アーティストなどの他の多くのオプションと同様に)、プレイリストにアクセスする方法はないようです.
これを行う別の方法はありますか、それともコード内のプレイリストにすべての曲を保存して、それらにアクセスする必要がありますか?
iphone - 同期直後に iPod ライブラリから曲をロード
iPod ライブラリを使用していくつかの曲を再生する iPhone アプリケーションを開発しています。以下のコードで曲をロードします。問題は、デバイスが iTunes と同期された直後にこのコードを実行すると、問題が発生することです。どうやら iPod ライブラリを更新する必要があり、しばらく時間がかかります。同期の直後に iPod アプリケーションにアクセスすると、「ライブラリを更新しています..」というメッセージが表示されました。それが起こっている間にアプリケーションから「[query items]」を呼び出すと、ライブラリに曲がないことを示す空の配列が返されます。更新が終了すると、すべてが完璧に機能します。この問題を解決する方法はありますか? おそらく、更新がいつ終了したかを検出する方法です。すべての NSNotifications をリッスンしようとしましたが、更新が終了したときに何も呼び出されませんでした。
誰かが助けてくれることを願っています。
ピーター
iphone - MPMediaItemPropertyPersistentID の NSNumber から NSString へ、およびその逆
次のコードを使用して、iPhone の音楽ライブラリからすべての曲をループしています。
かなり基本的なもの。
NSString
PersistentID をXML ファイルに書き込む必要があるため (ネットワーク経由で別のデバイスに送信するため) 、PersistentID を取得しています。したがって、そのままにしておくことができない理由NSNumber
です。
他のデバイスは、PersistentID を再度送信することで、iPhone にトラックを再生するよう要求します。
この時点で、iPhone はNSString
再生するトラックの PersistentID を持っています。
もう一度すべての曲をループして、必要なトラックが見つかるまで PersistentID を比較するのは面倒なのでMPMediaPropertyPredicate
、iPhone に検索してもらうために を使用しようとしています。
検索には次のコードを使用しています。
先ほどpersistentID
の はどこにありますか。NSString
奇妙なことに、これは一部の曲では機能しますが、他の曲では機能しません。つまり、ではなくitems
を渡しているにもかかわらず、配列が空でない場合があります。NSString
NSNumber
NSString
背中を元の背中に変換する方法と、それを行う方法があるかどうか疑問に思ってNSNumber
います.
更新:私は NSNumberFormatter を試しましたが、次のようなものも試しました:
私は勝つことなくそれを行うすべての標準的な方法を試しました。
iphone - setVolume が AVMutableAudioMixInputParameters で動作せず、電話機のローカル iPod ライブラリから再生されない
現在、アプリケーション コントローラーを使用して MPMusicPlayerController ではなく、AVPlayer を使用して電話のローカル iPod ライブラリから音楽を再生しようとしています。
MPMediaQuery を使用してローカルの iPod lib からトラックを選択できますが、AVMutableAudioMixInputParameters を使用して低いレベルでオーディオを開始しようとすると、音量がまったく下がらないようです。
MPMusicPlayerController ではなく AVPlayer を使用している理由は、同時にバックグラウンドで他のオーディオを再生していて、AVPlayer を使用している既存のオーディオ ファイルがハードウェアを占有しているため、MPMusicPlayerController が再生に失敗するためです。現時点で持っているコードは次のとおりです。
したがって、この時点で、配列は私のライブラリからのトラックの配列です。
1 つ取得して、AVPlayer を使用して再生するには:
AVPlayer を使用して URL からファイルを再生する (ストリーミング) 場合、音量の調整が機能することを確認できます。ローカルライブラリから再生するときだけではありません。
ここでメモリ管理を行っていないことに気付きました。最初にそれを機能させようとしているだけです。また、ローカル プレーヤーはプロパティであるため、明示的な保持はありません。
どんな助けでも大歓迎です!
ありがとう。
iphone - NULL MPMediaitemPropertyAssetURL
MPMediaQuery を使用して、曲の結果から MPMediaitemPropertyAssetURL を取得すると、null が返されることがあります (この場合、ユーザーの曲ライブラリの 1/3 を意味することもあります)。
誰がこれを引き起こすのか知っていますか? これはある種の DRM によるものだと推測していますが、どこにも文書化されていません。
iphone - MPMediaItemPropertyPersistentID による関数「addFilterPredicate」を使用して、一度に 2 つ以上の曲をクエリします。
私のアプリは、起動時に音楽プレイリストを自動的に読み込みます。そのために、曲の IDMPMediaItemPropertyPersistentID
をデータベースに保存し、次回アプリを起動するときに曲を読み込みます。主なコードは次のとおりです。
コードは曲を 1 つずつ読み込みます。MPMediaItemPropertyPersistentID
私の質問は:関数を使用するときに一度に2 つ以上の曲をクエリする方法はありますaddFilterPredicate:
か? ありがとう。
iphone - 曲の永続IDを持つデータベースからフェッチされている複数の曲をmpplayerに保存します
曲の永続IDを持つデータベースからフェッチされているmpplayerに複数の曲を保存しようとしています..しかし、単一の曲のみが追加されています.hereは私がやっていることです
MPMediaQuery *query = [MPMediaQuery songQuery]; MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:persistentId forProperty:MPMediaItemPropertyPersistentID]; [クエリ addFilterPredicate:述語]; NSArray *mediaItems = [クエリ項目]; //この配列は、指定されたpersistentIdを持つ曲で構成されます。コレクションに追加して再生 MPMediaItemCollection *col = [[MPMediaItemCollection alloc] initWithItems:mediaItems]; ///.... [列解放];
前もって感謝します
よろしく デボン・スミス
ios - MPMediaQuery を使用して、評価によって iOS ライブラリを照会する
さまざまな基準でローカル メディア ライブラリをフィルター処理する iphone 4 アプリを開発しています。曲名、アーティスト、ジャンルでフィルタリングできました。ここで、評価フィルター メカニズムを追加する必要があります。「評価 >= N つ星」 (N:0..5) のようなことを考えていました。
フィルタリングに使用するコードは次のとおりです。
しかし、MPMediaPropertyPredicate は、MPMediaItemPropertyRating によるフィルタリングを許可しません (実際には、アーティストと曲のタイトルで問題なく動作します)。
MPMediaItemPropertyRating でグーグル検索しましたが、トラック レーティングでフィルタリングする別の方法を見つける必要があるようです。
誰かヒントをくれませんか?
ありがとう
更新:これはこれを解決するための私のコードです:
objective-c - Objective-Cでの不可解なSQLiteコンソール出力
プログラムを実行してiPhoneのiPodライブラリを照会すると、コンソールに次の出力が表示されます。
CPSqliteStatementPerform:UPDATEddd.ext_containerの読み取り専用データベースを書き込もうとしますSETorig_date_modified =(SELECT date_modified FROM container WHERE pid = container_pid)WHERE orig_date_modified = 0
コンソールに出力するものをすべて無効にしているので、NSLogでエラーが発生しているわけではありません。ここで何が起こっているのか、どうすれば修正できますか。私が呼び出しているクラス全体のソースコードと、作業を行うクラスを含めます(すべてを投稿して申し訳ありません:
MakeDicForSongInfoで行われた作業の実際の成果は次のとおりです。
それは、iPhoneを驚かせるすべてのメディア情報にアクセスする上で何かでしょうか?