Playing a Song

Demonstrates how to play a song from a user's media library.

Complete Sample

The code in this tutorial illustrates the technique for playing a song from a library. A complete code sample for this tutorial is available for you to download, including full source code and any additional supporting files required by the sample.


The Albums property provides access to the media library, and the Play method plays a song. Consider any current audio playback when using the Play method. If the user currently is playing a different song, the Stop method can be used to stop the current song.

To play a song from a random album in a user's media library

The following demonstrates how to play a song from a randomly picked album (shuffle).

  1. Declare MediaLibrary and Random.

    MediaLibrary sampleMediaLibrary;
    Random rand;
  2. Initialize MediaLibrary and the random number generator in the game's constructor.

    sampleMediaLibrary = new MediaLibrary();
    rand = new Random();
  3. Stop the current audio playback by calling MediaPlayer.Stop, and then generate a random number that will serve as a valid album index. Next, play the first track in the random album.

    MediaPlayer.Stop(); // stop current audio playback 
    // generate a random valid index into Albums
    int i = rand.Next(0, sampleMediaLibrary.Albums.Count - 1);
    // play the first track from the album


  • Playing a Song from a URI
    Demonstrates how to use the MediaPlayer to play a song from a Uniform Resource Identifier (URI).
  • Media Overview
    Provides a high-level overview about the capabilities—such as playing music and video and accessing pictures—of the Media API in XNA Game Studio.