Introduction
In this article we will learn about the play mix task in Windows Phone 8. This task uses the Nokia MixRadio Launcher. It allows you to play a specific mix from your app in a Nokia MixRadio app. A Mix is nothing but a collection of tracks or songs from one artist in an album and that album is known as a mix. The mix can be identified using the artist's name or Mix ID.
Play Mix Task
Use the following procedure to use this task in your application:
- First include the reference of Nokia MixRadio API "Nokia.Music.Wp8.dll" in your project.
- Create a new play mix task.
- Set the artist name of the mix.
- In case you want to play a specific Mix then set the Mix ID appropriately.
- Either of the two is sufficient for playing a mix.
- Finally show the task using the show method.
To create a new play mix task:
PlayMixTask task = new PlayMixTask();
Now set the artist name as in the following:
task.ArtistName = "A R Rehman";
To set the mix id do this:
task.MixId = "35578690";
Keep it in mind that the only way to get the mix 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 play the mix.
task.Show();
Play Mix 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="Play" Click="playBtnClick" 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 playBtnClick(object sender, RoutedEventArgs e)
{
Nokia.Music.Tasks.PlayMixTask mixApp = new Nokia.Music.Tasks.PlayMixTask();
mixApp.ArtistName = artistTxt.Text.Trim(); // Set the Mix Artist or
mixApp.MixId =idTxt.Text; // Set the Mix ID for specific mix
mixApp.Show();
}
}
}
Output
Summary
That's all for this article. In my future articles we will see the other methods of the MixRadio Launcher. In case of any doubt feel free to ask in the comments.