Z S
Z S

Reputation: 7511

Using AVQueuePlayer to get current track information

I am loading my iPod library into AVQueuePlayer and playing it using this:

[[AVQueuePlayer alloc]]initWithItems:[MPMediaCollectionInstance items] ];  //just one line.

But how do I read which MPMediaItem is currently playing? I want to know information like artist / song name etc. Thanks.

Upvotes: 0

Views: 2206

Answers (1)

Ilanchezhian
Ilanchezhian

Reputation: 17478

Have the instance of the AVQueuePlayer that you have allocated.

AVQueuePlayer *_queuePlayer = [[AVQueuePlayer alloc] initWithItems:[MPMediaCollectionInstance items]];

With that instance, you can get the AVPlayerItem.

AVPlayerItem *currentItem = _queuePlayer.currentItem; 

For the above line, please check the doc reference.

And now try the following code

NSArray *metadataList = [currentItem.asset commonMetadata];
for (AVMetadataItem *metaItem in metadataList) {
    NSLog(@"%@",[metaItem commonKey]);
}

Which will give a list as follows:

title
creationDate
artwork
albumName
artist

Now you can get the value for corresponding keys. For this, you have to refer this doc too.

Upvotes: 2

Related Questions