2012-03-12 11 views
5

iOS 5以降では、lockscreenとマルチタスクバーのマルチメディアコントロールに情報を表示するためにMPNowPlayingInfoCenterにアクセスできます。私はローカルオーディオファイルを再生するアプリを持っています。 MPNowPlayingInfoCenterというロックスクリーンにアーティスト名、アルバム、アートワークなどの情報を表示したいのですが、これを行うには唯一の方法はMPMusicPlayerControllerを使用してnowPlayingItemとすることです。問題はMPMusicPlayerControllerですiPod Musicのみを再生するために使用され、ローカルに保存されたファイルは再生されません。これを回避する方法はありますか?iOS:LockScreenで現在再生されているトラック情報を表示していますか?

答えて

17

独自のNSDictionaryを作成し、それをMPNowPlayingInfoCenterに供給することができます。

NSArray *keys = [NSArray arrayWithObjects:MPMediaItemPropertyAlbumTitle, MPMediaItemPropertyArtist, ..., nil]; 
NSArray *values = [NSArray arrayWithObjects:@"Album", @"Artist", ..., nil]; 
NSDictionary *mediaInfo = [NSDictionary dictionaryWithObjects:values forKeys:keys]; 
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:mediaInfo]; 
+0

しかし、ローカルに保存されたトラックのアルバム名を取得するにはどうすればよいですか?それともアートワークですか? – Alex1987

+2

ローカルに保存されているファイルのID3タグを読み取る必要があります。 http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c – steharro

+2

を参照してください。また、アプリケーションがリモートコントロールイベントを受け取るように指定する必要があります。 '[[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; ' –

関連する問題