如何在 ios 应用程序的 MPMusicPlayerController 中获取当前正在播放的歌曲数据 [关闭]
Posted
技术标签:
【中文标题】如何在 ios 应用程序的 MPMusicPlayerController 中获取当前正在播放的歌曲数据 [关闭]【英文标题】:How can I get the Current Playing Song Data in MPMusicPlayerController in ios app [closed] 【发布时间】:2013-06-06 12:13:38 【问题描述】:我正在处理在 MPMusicPlayerController 中播放的歌曲,现在我想获取当前正在播放的歌曲数据(例如:some.mp3)
请帮助我,在此先感谢
【问题讨论】:
【参考方案1】:试试这个
@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;
【讨论】:
有没有办法检查这句话是真的在播放还是暂停了? @NoSixties 你可以使用 MPMusicPlayerController 的“playbackState”来检查它【参考方案2】:您可以向 MPMusicPlayerController 询问当前正在播放的歌曲
MPMediaItem *songItem = [controller nowPlayingItem];
然后提取文件(如在 mp3 中)有2 options。查看前 2 个答案。
【讨论】:
以上是关于如何在 ios 应用程序的 MPMusicPlayerController 中获取当前正在播放的歌曲数据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 混合应用程序中集成 card.io sdk?
如何在 React Native 应用程序的 iOS 后台运行 socket.io?