Postup je následovný:
1. Otevřete si VS 2012 for Windows 8
2. Vytvořte nový prázdný projekt – typ Blank App/C#
3. Vložte tento kód do elementu <Grid> v MainPage.xaml
XML
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<MediaElement x:Name="mediaElement" Grid.Column="0" Grid.Row="0" IsMuted="False" Volume="100" AudioCategory="ForegroundOnlyMedia" PosterSource="Assets/Logo.png" RealTimePlayback="False" AutoPlay="True" Height="100" Width="100"></MediaElement>4. Vložte tento kód třídy MainPage v MainPage.xaml.cs
C#
IRandomAccessStreamWithContentType stream = null;
void OpenSong()
{
Windows.Storage.KnownFolders.MusicLibrary.GetFileAsync("_.mp3").Completed = (async, status) =>
{
if (async.Status == AsyncStatus.Completed)
{
StorageFile storageFile = async.GetResults();
storageFile.OpenReadAsync().Completed = (async2, status2) =>
{
if (async2.Status == AsyncStatus.Completed)
{
stream = (IRandomAccessStreamWithContentType)async2.GetResults();
this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, PlaySong).Completed = (async3, status3) =>
{
};
}
};
}
};
}
void PlaySong()
{
//-Nastavit pouze vlastnost Source nestačí, pak mi to nechtělo hrát, musí se to přes metodu SetSource
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();
}5. Zavolejte metodu OpenSong() v prázdné metodě OnNavigatedTo(). Pokud ji zavoláte v konstruktoru, nevyhodí se vám žádná chyba ale zvuk vám prostě nebude hrát
C#
protected override void OnNavigatedTo(NavigationEventArgs e)
{
OpenSong();
}6. Vytvořte hudební soubor _.mp3 v hudební knihovně W8
7. Povolte v souboru Package.appxmanifest přístup do hudební knihovny
8. Spusťte program a otestujte