【问题标题】:play music on windows phone 8.1在 windows phone 8.1 上播放音乐
【发布时间】:2016-01-26 12:13:19
【问题描述】:

我尝试将所有音乐文件放入列表框并播放所选文件。

下面的代码是我用来播放音乐的,但不幸的是它没有播放。谁能告诉我错误是什么?

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;
    }
}

【问题讨论】:

    标签: windows-phone-8.1 audio-player


    【解决方案1】:

    您需要使用下面的代码来代替mediaElement1.Source = new Uri(files[listBox2.SelectedIndex].Path);

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

    【讨论】:

    • 我按照你说的修改了代码,但还是不行。 :(
    • @Harishkutty 你是怎么破解的?可以分享一下细节吗?
    • 嗨,使用上面的代码,因为它是与提到的更正。只需添加一个单独的按钮控件并在其中给出 mediaElement.play() 命令。而已。它会运行起来顺滑如丝。
    【解决方案2】:

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

    MSDN

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

    背景音频播放场景包括:

    长时间运行的播放列表用户短暂打开前台应用程序以选择并启动播放列表,之后用户希望播放列表继续在后台播放。

    使用任务切换器 用户短暂打开一个前台应用程序开始播放音频,然后使用该任务切换到另一个打开的应用程序 转变。用户希望音频继续播放 背景。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多