1

私は自分のアプリにiPodプレーヤーを組み込んでいます。キューを作成して、曲を再生することができます。現在の曲のプロパティ値を取得できません。通知を登録しましたが、ログには通知がトリガーされていることが示されています。

MPMediaItem *currentItem = self.musicPlayer.nowPlayingItem;
NSLog(@"currentItem = %@", currentItem);

ログ出力は次のことを示しています:currentItem =(null)

Xcode 4.5.2iOS6.0を実行しています。

どんな助けでも大歓迎です。

4

3 に答える 3

3

同じ問題が発生する可能性のある他の人にとって、問題は、アプリケーションの実行後に音楽を同期したことでした。ライブラリの変更を監視する必要があります。

MPMediaLibraryDidChangeNotification

[[MPMediaLibrary defaultLibrary] beginGeneratingLibraryChangeNotifications];
于 2012-11-08T17:52:39.763 に答える
1

コードを記述しましたが、 MPMediaItemNSLog(@"currentItem = %@", currentItem);が何であるかを完全に理解していない可能性があります。

MPMediaItemはNSStringではないため、ここでnullを取得しました。MPMediaItemには、曲のタイトル、アルバム名、アーティスト名など、多くのプロパティがあります。タイトルなどのMPMediaItemのプロパティにアクセスするには、valueForProperty:メソッドを使用します。

NSLog(@"currentItem = %@", [currentItem valueForProperty:MPMediaItemPropertyTitle])

このようなもの。

于 2013-03-18T12:51:59.910 に答える
0

また、アプリケーションプレーヤーを誤って混ぜてしまうという問題もありました。

[MPMusicPlayerController applicationMusicPlayer]

とiPodプレーヤー

[MPMusicPlayerController iPodMusicPlayer]

iPodMusicPlayerを使って音楽を再生していて、誤ってapplicationMusicPlayerの音量を調整しようとしました。

したがって、意図せずにそれらを混ぜないように注意してください;-)

于 2013-12-20T06:26:46.277 に答える