MyPlayer_2
基于上一次的喵喵喵播放器,我开始了我的不归路,这次将介绍升级版本的MyPlayer_2 ~~
项目地址~~
本次升级主要包括以下几点:
1.在线播放东北大学校歌
2.从东大官网下载校歌到本地音乐库
3.定位音乐文件。
First: 在线播放东北大学校歌
基于上次的喵喵喵播放器制作过程的学习,我了解了如何选择本地文件并播放,通过访问其URI即可。于是我决定试一试能不能直接找到东大官网简介中校歌NEUsong,mp3的URI
于是加入了一个Button,并添加了一个click事件:
private void Button_Click_1(object sender, RoutedEventArgs e) { Uri PathUri = new Uri("http://www.neu.edu.cn/indexsource/neusong.mp3"); mediaPlayer.Source = PathUri; }
OK,可以播放。
Second:从东大官网下载校歌到本地音乐库
下载过程则需要用到HttpClient。
//Create an HTTP client object Windows.Web.Http.HttpClient httpClient = new Windows.Web.Http.HttpClient();
通过调用 StorageFile.OpenAsync 方法打开文件。 打开操作完成后,它将返回文件的内容流。
通过WriteAsync(buffer)写入流,最后通过FlushAsync()关闭该流。
用到的技术:文件创建/写入/读取 ,文件访问权限。
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(); } return file;
到此即将文件流写入文件中。
最后将流添加到播放器的播放源中并自动播放:
StorageFile file = await Load(); if (file != null) { var stream = await file.OpenAsync(FileAccessMode.Read); mediaPlayer.SetSource(stream, file.ContentType); mediaPlayer.AutoPlay = true; }
Finish~~~
posted on 2018-04-13 18:04 yh2480444683 阅读(141) 评论(0) 编辑 收藏 举报