Nokia MixRadio: Show Artist Task

Introduction

This article explains the Show Artist Task of the MixRadio API for Windows Phone 8. This task uses the Nokia MixRadio Launcher. It allows you to provide rich information about an artist from your app into Nokia MixRadio app. An Artist can be identified using the artist name or Artist ID.

Show Artist Task

Use the following procedure to use this task in your application:

  1. First include the reference to the Nokia MixRadio API "Nokia.Music.Wp8.dll" in your project.
  2. Create a new Show Artist Task.
  3. Set the artist name in the task.
  4. You can also set the Artist ID.
  5. Either of the two is sufficient for showing the artist info.
  6. Finally, show the task using the show method.

To create a new show artist task:

    ShowArtistTask task = new ShowArtistTask();

Now set the artist name as in the following:

    task.ArtistName = "A R Rehman";

To set the Artist id do this:

    task.ArtistId = "35578690";

Keep it in mind that the only way to get the artist id is using the MixRadio API methods. There is no other way possible.

At last use the show method to open the Nokia mix app and show the artist details as in the following:

    task.Show();

Show Artist Task Example

XAML

<phone:PhoneApplicationPage

    x:Class="Demo.MainPage"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"

    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    mc:Ignorable="d"

    FontFamily="{StaticResource PhoneFontFamilyNormal}"

    FontSize="{StaticResource PhoneFontSizeNormal}"

    Foreground="{StaticResource PhoneForegroundBrush}"

    SupportedOrientations="Portrait" Orientation="Portrait"

    shell:SystemTray.IsVisible="True">

 

    <!--LayoutRoot is the root grid where all page content is placed-->

    <Grid x:Name="LayoutRoot" Background="Transparent">

        <Grid.RowDefinitions>

            <RowDefinition Height="Auto"/>

            <RowDefinition Height="*"/>

        </Grid.RowDefinitions>

 

        <!--TitlePanel contains the name of the application and page title-->

        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">

            <TextBlock Text="Demo" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>

            <TextBlock Text="MixRadio Demo" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>

        </StackPanel>

 

        <!--ContentPanel - place additional content here-->

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

            <TextBox Name="artistTxt" HorizontalAlignment="Left" Height="72" Margin="0,10,0,0" TextWrapping="Wrap" Text="Enter Artist Name" VerticalAlignment="Top" Width="456"/>

            <TextBox Name="idTxt" HorizontalAlignment="Left" Height="72" Margin="0,82,0,0" TextWrapping="Wrap" Text="Enter Mix ID" VerticalAlignment="Top" Width="456"/>

            <Button Content="View Artist" Click="viewArtistBtnClick" HorizontalAlignment="Left" Margin="268,193,0,0" VerticalAlignment="Top" Width="178"/>

        </Grid>

    </Grid>

</phone:PhoneApplicationPage>

 

C# Code Behind

Before using the following code you need to install the Nokia MixRadio API in your application.

To install the MixRadio package in your project use the following command line:

PM> Install-Package NokiaMusic

After successful installation you will see the log similar to this:

Attempting to resolve dependency 'SharpGIS.GZipWebClient (≥ 1.4.0.0)'.

Attempting to resolve dependency 'Newtonsoft.Json (≥ 5.0.6)'.

Installing 'SharpGIS.GZipWebClient 1.4.0.0'.

Successfully installed 'SharpGIS.GZipWebClient 1.4.0.0'.

Installing 'Newtonsoft.Json 5.0.6'.

Successfully installed 'Newtonsoft.Json 5.0.6'.

Installing 'NokiaMusic 3.2.0'.

Successfully installed 'NokiaMusic 3.2.0'.

Adding 'SharpGIS.GZipWebClient 1.4.0.0' to Demo.

Successfully added 'SharpGIS.GZipWebClient 1.4.0.0' to Demo.

Adding 'Newtonsoft.Json 5.0.6' to Demo.

Successfully added 'Newtonsoft.Json 5.0.6' to Demo.

Adding 'NokiaMusic 3.2.0' to Demo.

Successfully added 'NokiaMusic 3.2.0' to Demo.

Now here is the actual code behind:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Navigation;

using Microsoft.Phone.Controls;

using Microsoft.Phone.Shell;

using Demo.Resources;

 

namespace Demo

{

    public partial class MainPage : PhoneApplicationPage

    {

        // Constructor

        public MainPage()

        {

            InitializeComponent();

        }

 

        private void viewArtistBtnClick(object sender, RoutedEventArgs e)

        {

            Nokia.Music.Tasks.ShowArtistTask artistApp = new Nokia.Music.Tasks.ShowArtistTask();

            mixApp.ArtistName = artistTxt.Text.Trim();  // Set the Mix Artist or

            mixApp.ArtistId =idTxt.Text;                          // Set the Mix ID for specific mix

            artistApp.Show();

        }

    }

}

 

Output

 

 
 

Summary

That's all for this article. In my next article I will cover the rest of the methods of the MixRadio Launcher. In case of any doubt feel free to ask in the comments.


Similar Articles