我试着把所有的音乐文件放到列表框中,然后播放选定的文件。
下面的代码是我用来播放音乐的,但不幸的是它不能播放。谁能告诉我这个错误是什么?
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;
}
}发布于 2016-01-24 16:26:42
取而代之的是mediaElement1.Source = new Uri(files[listBox2.SelectedIndex].Path);你需要使用下面的代码:
var fileStream = await file.OpenReadAsync();
mediaElement.SetSource(fileStream, file.ContentType);发布于 2016-01-26 12:13:20
您需要在后台任务中使用BackgroundMediaPlayer。
你可以为Windows phone8.1编写在后台播放音频的应用程序。这意味着,即使用户按下设备上的后退按钮或开始按钮离开了你的应用程序,你的应用程序也可以继续播放音频。
背景音频播放场景包括:
长时间运行的播放列表用户简单地调出一个前台应用程序来选择并启动播放列表,之后用户期望播放列表继续在后台播放。
使用任务切换器用户短暂地调出一个前台应用程序开始播放音频,然后使用任务切换器切换到另一个打开的应用程序。用户希望音频在后台继续播放。
https://stackoverflow.com/questions/34973421
复制相似问题