2012-04-12 90 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

相關問題