iOS Lyrics Extension

With the Musixmatch app installed and just a few lines of code your app can access the world's largest lyrics catalog to provide a better experience to your users. With the Musixmatch extension you can:

  • See the synced lyrics for the now playing song in your app
  • Read the lyrics for any song directly from your app.

.


Integrating Musixmatch With Your App

You can open Musixmatch whenever you want to show lyrics on time for your nowplaying track. Just give to Musixmatch extension these datas:

  • Title
  • Artist
  • Album
  • Artwork
  • Current seek time
  • Track duration
You can open Musixmatch Extension from your app without any specific UI, it could be standard "Lyrics button" or if you need a specific Musixmatch logo contact us, infos are below.



Running the Demo App

Adding Musixmatch support to your app is easy. To demonstrate how it works, we have demo sample app for iOS that showcase all of the Musixmatch features.

Step 1: Download the Source Code and Demo Apps
To get started, download the Musixmatch App Extension Github project or get the latest build here. Inside the downloaded folder, you'll find the resources and examples needed to integrate with Musixmatch.

Step 2: Chose a song
Tap on 'Add Music' button to reproduce a song

Step 3: Open Musixmatch Extension
Tap on 'Lyrics' button and choose Musixmatch (the fist time you ave to enable if from 'More').



How to Open Musixmatch Extension

Add lyrics button on your view, you can enable it by check isSystemAppExtensionAPIAvailable, Musixmatch Extension is available for every iOS8 devices. Note that if users doesn't have Musixmatch installed or old version installed without Lyrics Extension the Extension open the AppStore on Musixmatch app page to download/update. Next we need to wire up the action for this button to this method in your UIViewController:


- (IBAction)lyrics:(id)sender {

    MPMediaItem *item = [[MPMusicPlayerController iPodMusicPlayer] nowPlayingItem];

    if (item) {
        [[MXMLyricsAction sharedExtension] findLyricsForSongWithTitle:item.title
                                                               artist:item.artist
                                                                album:item.albumTitle
                                                              artWork:[item.artwork imageWithSize:artWork.frame.size]
                                                      currentProgress:[[MPMusicPlayerController iPodMusicPlayer] currentPlaybackTime]
                                                        trackDuration:item.playbackDuration
                                                    forViewController:self
                                                               sender:sender
                                                     competionHandler:^(NSError *error) {

                                                     }];
    }

}
Data needed in deep: Provide a NSString for song title. Provide a NSString for song artist name. Pass a NSString for song album name. Pass an UIImage for the view's background (artwork). Provide a NSTimeInterval for the current seek time. Provide a NSTimeInterval for the song duration. Provide a UIViewController from the Extesion can appear. Provide a completion block that will be called when the user finishes their selection.