可視化程序設(shè)計(jì)基礎(chǔ)(四)——加強(qiáng)版視頻播放器

本來(lái)這次的作業(yè)應(yīng)該是接著上次簡(jiǎn)單的播放器做的琼了,然而我感覺上次的播放器有點(diǎn)難看逻锐,又想重新復(fù)習(xí)一下之前講過的各種控件,就重新做了一個(gè)播放器雕薪,功能比上次多了兩個(gè)昧诱,一個(gè)是在線播放,另一個(gè)是緩存所袁,這兩個(gè)功能說(shuō)難不難盏档,但說(shuō)簡(jiǎn)單坑還是不少的,接下來(lái)我們慢慢說(shuō)燥爷。

本次程序的代碼:https://github.com/cui-jia-hua/singleMediaPlayer

布局

因?yàn)檫@次是重新實(shí)現(xiàn)的播放器蜈亩,所以我想簡(jiǎn)單講一下我的布局,之前我使用了NavigetionView前翎,然而事實(shí)證明并不好看稚配,所以這次我選擇了SplitView,并且將打開文件與下載文件的按鈕放在了flyout中港华,這就使得界面變得清爽了不少道川,同時(shí)左側(cè)我使用的是ListView + ParallaxView,用來(lái)顯示本地已經(jīng)下載的文件。
參考博客:flyout菜單與事件https://blog.csdn.net/zmq570235977/article/details/50489330

界面.png

在線播放功能

上次簡(jiǎn)單的實(shí)現(xiàn)了用戶播放本地文件的功能愤惰,總體來(lái)說(shuō)還是挺簡(jiǎn)單的苇经,而這次的第一個(gè)在線播放功能也不算難,
這是在線播放.png

這是本地播放.png

相信大家都能發(fā)現(xiàn)宦言,這兩段代碼唯一不同就是文件路徑扇单,在線播放需要提供uri,并且Mediasource的方法需要改變一下奠旺,其他的只需要復(fù)制粘貼就好了蜘澜。

下載媒體

本次任務(wù)的重點(diǎn)我覺得就在于將音頻下載到本地上,對(duì)于這一任務(wù)我找了好久的資料响疚,不過苦于c#本身博客較少鄙信,并且搜索的時(shí)候經(jīng)常會(huì)和安卓混在一起,導(dǎo)致進(jìn)度緩慢忿晕,最終通過官方文檔與其他同學(xué)的博客找到一種方法

下載代碼.png

這個(gè)方法可以順利的將媒體下載到用戶的音樂文件夾下
音樂文件夾.png

同時(shí)装诡,經(jīng)過測(cè)試,無(wú)論下載的是音頻還是視頻践盼,該代碼均可以將其下載到本地并能夠順利播放鸦采。
參考:下載文件 https://docs.microsoft.com/zh-cn/windows/uwp/files/quickstart-managing-folders-in-the-music-pictures-and-videos-libraries#get-notified-of-changes-to-the-list-of-folders-in-a-library
https://docs.microsoft.com/en-us/uwp/api/windows.web.http.httpclient.getbufferasync#Windows_Web_Http_HttpClient_GetBufferAsync_Windows_Foundation_Uri_

播放

僅僅下載到本地是不夠的,我覺得應(yīng)該讓這個(gè)播放器能夠播放已經(jīng)下載到本地的媒體文件咕幻,ListView顯示出當(dāng)前用戶音樂文件夾下的所有文件渔伯,并通過用戶點(diǎn)擊來(lái)進(jìn)行播放。這個(gè)功能聽起來(lái)簡(jiǎn)單肄程,但實(shí)現(xiàn)的時(shí)候我仍是飛了不少功夫锣吼,首先是需要再ListView上把當(dāng)前用戶音樂文件夾下的所有文件顯示出來(lái),通過動(dòng)態(tài)創(chuàng)建ListViewItem的方法蓝厌,我檢查當(dāng)前文件夾下的所有文件玄叠,并創(chuàng)建ListViewItem,將它們插入到ListView中褂始。在每一次添加之前還需要清除诸典,否則就會(huì)重復(fù)添加描函,清除當(dāng)前ListView中所有元素的方式是這個(gè):https://www.cnblogs.com/zchenjian/p/6244081.html
其次ListView的參考代碼較少崎苗,不知道如何獲取用戶選擇的選項(xiàng)。這一問題我是一點(diǎn)一點(diǎn)試出來(lái)的舀寓,程序如下

選擇Item.png

僅僅獲取當(dāng)前item的文本是不夠的胆数,我們還需要找到用戶的音樂文件夾路徑,在那個(gè)路徑下找到用戶選擇的item互墓,就可以順利播放了必尼。
參考文檔:ItemClickEventArgs方法:https://msdn.microsoft.com/zh-tw/library/windows/apps/windows.ui.xaml.controls.itemclickeventargs.aspx

總結(jié)

總之,這個(gè)一般般的播放器順利完成了,播放也是非常的流暢判莉,我甚至還找了個(gè)渣渣輝的廣告來(lái)進(jìn)行測(cè)試豆挽,可以說(shuō)非常魔性了。
傳新版本.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末券盅,一起剝皮案震驚了整個(gè)濱河市帮哈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锰镀,老刑警劉巖娘侍,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異泳炉,居然都是意外死亡憾筏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門花鹅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)氧腰,“玉大人,你說(shuō)我怎么就攤上這事刨肃∪荼矗” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵之景,是天一觀的道長(zhǎng)斤富。 經(jīng)常有香客問我,道長(zhǎng)锻狗,這世上最難降的妖魔是什么满力? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮轻纪,結(jié)果婚禮上油额,老公的妹妹穿的比我還像新娘。我一直安慰自己刻帚,他們只是感情好潦嘶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著崇众,像睡著了一般掂僵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上顷歌,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天锰蓬,我揣著相機(jī)與錄音,去河邊找鬼眯漩。 笑死芹扭,一個(gè)胖子當(dāng)著我的面吹牛麻顶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舱卡,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼辅肾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了轮锥?” 一聲冷哼從身側(cè)響起宛瞄,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎交胚,沒想到半個(gè)月后份汗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝴簇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年杯活,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熬词。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡旁钧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出互拾,到底是詐尸還是另有隱情歪今,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布颜矿,位于F島的核電站寄猩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏骑疆。R本人自食惡果不足惜田篇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望箍铭。 院中可真熱鬧泊柬,春花似錦、人聲如沸诈火。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)冷守。三九已至刀崖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間教沾,已是汗流浹背蒲跨。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工译断, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留授翻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像堪唐,于是被迫代替她去往敵國(guó)和親巡语。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348