2016-01-24 167 views
0

我试图将所有音乐文件放入列表框并播放选定的文件。在Windows Phone 8.1上播放音乐

下面的代码是我做的音乐播放,但不幸的是它不播放。谁能告诉我这个错误是什么?

private async void button1_Click(object sender, RoutedEventArgs e) 
{ 
    StorageFolder folder = Windows.Storage.KnownFolders.MusicLibrary; 
    IReadOnlyList<StorageFile> files = await folder.GetFilesAsync(); 

    foreach (var file in files) 
    { 
     MusicProperties music = await file.Properties.GetMusicPropertiesAsync(); 

     listBox2.Items.Add(music.Title);  
    } 
} 

private async void listBox2_Tapped(object sender, TappedRoutedEventArgs e) 
{ 
    try 
    { 
     StorageFolder folder = Windows.Storage.KnownFolders.MusicLibrary; 
     IReadOnlyList<StorageFile> files = await folder.GetFilesAsync(); 

     if (files.Count > 0) 
     { 
      var file = files[listBox2.SelectedIndex]; 
      mediaElement1.Source = new Uri(files[listBox2.SelectedIndex].Path); 
      textBlock1.Text = files[listBox2.SelectedIndex].Path; 

      mediaElement1.Play(); 
     } 
    } 
    catch(Exception ex) 
    { 
     textBlock1.Text = ex.Message; 
    } 
} 

回答

0

相反mediaElement1.Source = new Uri(files[listBox2.SelectedIndex].Path);你需要波纹管使用的代码:

 var fileStream = await file.OpenReadAsync(); 
     mediaElement.SetSource(fileStream, file.ContentType); 
+0

我改变了你所说的代码,但它仍然不起作用。 :( –

+0

破解它最后 –

+0

@Harishkutty你是怎么破解它的?你能分享细节吗? – asitis

0

您需要使用BackgroundMediaPlayer与后台任务。

MSDN

你可以写的Windows Phone 8.1的应用程序在后台播放音频。这意味着即使在用户通过按设备上的后退按钮或开始按钮离开您的应用后,您的应用仍可以继续播放音频。

情景背景音频播放包括:

长时间运行的播放列表用户简要带来了一个前台应用程序来选择,并开始播放列表,用户之后,预计该播放列表将继续在后台播放。

使用任务切换用户简要带来了一个前台应用程序开始播放音频,然后切换到使用任务 开关另一个打开的应用程序。用户期望音频在 背景中继续播放。

+0

是的,我正在研究这个,谢谢。 –