简单播放器的可视化作业更新

电脑杂谈  发布时间:2020-06-25 22:32:31  来源:网络整理

音频的可视化效果_音乐播放器可视化效果_带可视化效果的播放器

这次我更新了以前的简单播放器的功能,主要是添加了两个功能

1. 能够播放音乐

2. 您可以在本地缓存音乐

1. 在编辑第一个函数时,我借了很多东西带可视化效果的播放器,包括Microsoft文档()带可视化效果的播放器,其他学生的博客等. 代码的第一个版本就是这样

带可视化效果的播放器_音乐播放器可视化效果_音频的可视化效果

 private void TxtFilePath_KeyUp(object sender, KeyRoutedEventArgs e)
        {
            if (e.Key == Windows.System.VirtualKey.Enter)
            {
                TextBox tbPath = sender as TextBox;
                if (tbPath != null)
                {
                    LoadMediaFromString(tbPath.Text);
                }
            }
        }
        private void LoadMediaFromString(string path)
        {
            try
            {
                Uri pathUri = new Uri(path);
                media.Source = pathUri;
            }
            catch (Exception ex)
            {
                if (ex is FormatException)
                {
                    // handle exception. 
                    // For example: Log error or notify user problem with file
                }
            }
        }

是的!文档代码!

但是后来我发现没有必要这么麻烦,我们可以像这样直接将URL交给播放器

 Uri pathUri = new Uri(mybox.Text);
                        media.Source = pathUri;
                        media.Play();

带可视化效果的播放器_音乐播放器可视化效果_音频的可视化效果

在mybox是我添加的TextBox的情况下,只需在播放器中输入地址即可播放音频.

2. 本地缓存文件

参考文件:

音乐播放器可视化效果_带可视化效果的播放器_音频的可视化效果

根据文档复制代码以访问文件后,出现了一些错误,但是当时我并不感到惊慌,因为我相信VS强大的IDE. 但是,在我让VS自己修改它之后,我发现有一个函数始终无法传递

这是这里的GetBufferAsync. 那时,我有点慌了. 反复撤消检查后,我发现当httpClient自动修复时,第二项可以正常运行. 上面的图片经过修改后是正常的. 只是在那之后.

public async Task<StorageFile> Load()
        {
            try
            {
                var httpClient = new HttpClient();
                var buffer = await httpClient.GetBufferAsync(new Uri(mybox.Text));
                var file = await KnownFolders.MusicLibrary.CreateFileAsync("neusong.mp3", CreationCollisionOption.ReplaceExisting);
                using (var stream = await file.OpenAsync(FileAccessMode.ReadWrite))
                {
                    await stream.WriteAsync(buffer);
                    await stream.FlushAsync();
                }
                Uri pathUri = new Uri(mybox.Text);
                media.Source = pathUri;
                media.Play();
                return file;
                
            }
            catch { }
            return null;
        }

带可视化效果的播放器_音乐播放器可视化效果_音频的可视化效果

在模仿文档编写后运行该程序后,我发现无论单击什么,我的音乐文件夹都是空的. 我找不到应该缓存的neusong.mp3. 知道找到了该文档后,我意识到该程序无权访问音乐文件夹,只能对其进行修改.

这次我们将再次运行,好的,完美,让我介绍一下〜

GitHub项目地址:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-258374-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 陈智会
        陈智会

        我们的盟友大英帝国该出手了

      • 张昭儒
        张昭儒

        就拿美国练练手

      热点图片
      拼命载入中...