2012-04-12 93 views

回答

2

ADDT此乌尔.h文件中

@property (nonatomic, retain) MPMusicPlayerController *musicPlayer; 
@property (nonatomic, retain) IBOutlet UILabel *songLabel; 
@property (nonatomic, retain) IBOutlet UILabel *artistLabel; 
@property (nonatomic, retain) IBOutlet UILabel *albumLabel; 


- (void)handleNowPlayingItemChanged:(id)notification 
{ 
// Ask the music player for the current song. 
MPMediaItem *currentItem = self.musicPlayer.nowPlayingItem; 

// Display the artist, album, and song name for the now-playing media item. 
// These are all UILabels. 
self.songLabel.text = [currentItem valueForProperty:MPMediaItemPropertyTitle]; 
self.artistLabel.text = [currentItem valueForProperty:MPMediaItemPropertyArtist]; 
self.albumLabel.text = [currentItem valueForProperty:MPMediaItemPropertyAlbumTitle];  
// Display album artwork. self.artworkImageView is a UIImageView. 
CGSize artworkImageViewSize = self.artworkImageView.bounds.size; 
MPMediaItemArtwork *artwork = [currentItem valueForProperty:MPMediaItemPropertyArtwork]; 
if (artwork != nil) 
{ 
     self.artworkImageView.image = [artwork imageWithSize:artworkImageViewSize]; 
} 
else 
{ 
     self.artworkImageView.image = nil; 
} 
} 
+0

MPMediaItem * currentItem = self.musicPlayer.nowPlayingItem;那musicPlayer是MPMoviePlayerController对象吗? – 2012-04-12 06:54:38

+0

是的,MPMusicPlayerController * musicPlayer; – akk 2012-04-12 07:00:46

+0

但是当我访问此方法内的MPMoviePlayerController对象时,我得到了错误 “在'firstViewController'类型的对象上找不到属性'musicPlayer'”...我已经给MPMoviePlayerController对象作为静态,静态MPMoviePlayerController * musicplayer = nil; – 2012-04-12 07:12:33

1

MPMoviePlayerController不支持获取基于ID3元数据从播放流的。您必须使用MPMusicPlayerController(本地内容)或可能使用AVPlayer(流式内容)才能完成此功能。虽然我必须承认,我不完全确定AVPlayer/AVPlayerItem是否能够完成工作 - 我从未尝试过。

+0

但我有一个使用MPMoviePlayerController的在线http音频流,是MPMusicPlayerController支持在线流?是他们的任何其他方式来实现这... – 2012-04-13 03:58:41

+0

@NeerajNeeru看到我的编辑 – Till 2012-04-13 11:45:54

+0

好吧然后我将如何访问AVPlayer当前播放项目的详细信息 – 2012-04-17 07:41:03

相关问题