Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用BackgroundMediaPlayer播放歌曲_C#_Audio_Windows Phone 8.1_Media Player - Fatal编程技术网

C# 使用BackgroundMediaPlayer播放歌曲

C# 使用BackgroundMediaPlayer播放歌曲,c#,audio,windows-phone-8.1,media-player,C#,Audio,Windows Phone 8.1,Media Player,我正在尝试播放StorageFile列表中的歌曲。我可以加载所有歌曲,但我不知道如何使用BackgroundMediaPlayer 到目前为止,我得到的是: 用户界面 我知道这是一种复杂的方式,但我没有找到更好的解决方案,可以在ListView(或任何视图)中列出我的相册并播放该相册中的所有歌曲。如果您需要后台任务项目并发送文件来播放,可能会对您有所帮助。您可以在GitHub上查看我正在进行的工作音乐播放器:@Filip我稍后再查看,谢谢:) <Button Content

我正在尝试播放StorageFile列表中的歌曲。我可以加载所有歌曲,但我不知道如何使用
BackgroundMediaPlayer

到目前为止,我得到的是:

用户界面


我知道这是一种复杂的方式,但我没有找到更好的解决方案,可以在ListView(或任何视图)中列出我的相册并播放该相册中的所有歌曲。

如果您需要后台任务项目并发送文件来播放,可能会对您有所帮助。您可以在GitHub上查看我正在进行的工作音乐播放器:@Filip我稍后再查看,谢谢:)
        <Button Content="Load" x:Name="loadbutton" Height="100" Width="100" Click="loadButton_Click"/>
        <ListView x:Name="FolderList" HorizontalAlignment="Left" Height="250" VerticalAlignment="Top" Width="400">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <TextBlock Name="TextBlockAlbum" Text="{Binding DisplayName}" Tapped="Album_Tapped" />
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    private async void loadButton_Click(object sender, RoutedEventArgs e)
    {
            await RetriveFilesInFolders(listOfFiles, folder);
            var ListOfAlbum = (await folder.GetFoldersAsync(CommonFolderQuery.GroupByAlbum)).ToList();
            FolderList.ItemsSource = ListOfAlbum; //ListView contains Albums
    }

    private async Task RetriveFilesInFolders(List<StorageFile> list, StorageFolder parent)
    {
        foreach (var item in await parent.GetFilesAsync()) list.Add(item);
        foreach (var item in await parent.GetFoldersAsync()) await RetriveFilesInFolders(list, item);
    }

    private async void Album_Tapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs e)
    {
        //Load Tracks From Album
        TextBlock st = (TextBlock)sender;
        string albumname = st.Text;

        IReadOnlyList<StorageFile> ListOfSongs = (await folder.GetFilesAsync()).ToList();
        List<StorageFile> mylist = new List<StorageFile>();

        foreach(var file in ListOfSongs)
        {
            MusicProperties musicProperties = await file.Properties.GetMusicPropertiesAsync();
            if (musicProperties.Album == albumname)
                mylist.Add(file);
        }
    }
BackgroundMediaPlayer.Current.SetFileSource(mylist[2]);
var message = new ValueSet();
message.Add(Constants.StartPlayback, "0");
BackgroundMediaPlayer.SendMessageToBackground(message);