美文网首页
使用uwp实现一个简单的媒体播放器

使用uwp实现一个简单的媒体播放器

作者: 只为换你一个回眸 | 来源:发表于2018-04-03 12:45 被阅读0次

    一、整体效果

            上图是我所做的播放器的效果,比较简单也没有什么特殊的功能。整个播放器大部分都是MediaElement实现的,我自己又添加了选取文件和停止的功能。如图加号是选取一个本地的文件,方块是停止当前播放的文件并重头开始。实现了要求的基本功能:选取一个MP3,MP4文件,实现播放暂停等功能。下面是我作业的链接:

    https://github.com/ilike123/player

    二、设计过程

            在刚开始做的时候并没有什么头绪,也不知道该用什么实现,首先想到的是用一些button去实现开始暂停等功能,用slide去实现对音量的控制。但是做了一半之后发现这么做超级麻烦,尤其是对音量的控制。于是就想用其他的控件去实现,然后就看到了MediaElement。这是一个非常强大的控件,基本上大部分功能都是由它来实现的。有了一个基本的播放的框架就需要补充其他功能了:选取文件。这基本上是两个最主要的东西了。

    ①MediaElement  

           一看到MediaElement我是一头雾水的,怎么定义,怎么实现功能都不懂。然后我就去看了微软的文档:

    https://msdn.microsoft.com/zh-cn/library/windows/apps/mt187272.aspx

    不得不说这是懒人福音,怎么定义怎么实现都已经全部列了出来。所以基本上我就直接用了。

        说到MediaElement就不得不提到AreTransportControlsEnabled了,这是一个神奇的属性,只要设置为True,那么大半个播放器就实现了。什么播放暂停,音量控制都已经帮我实现。一开始我并没有在意这个控件,直到我看见了这篇文章:

    https://www.cnblogs.com/MzwCat/p/7858067.html

    我发现了同样是用了MediaElement,但是我和它的效果完全不同,然后我就明白了AreTransportControlsEnabled有多么好用。然后的然后我的整个播放器就算大功告成了。不得不说微软官方的文档和空间滋生的属性真的很不错,方便实用。

    ②开始暂停  

            其实这是一个不算问题的问题。我使用MediaElement之前想着用button去实现功能。基本所有的播放器开始和暂停都是一个按键,所以我也应该用一个按键,那么问题就来了:怎么用一个button实现两个功能。其实很简单,但是困扰了我好久。最蠢的是,我已经想到了用if判断,但我却用i=1,i=0去判断。实际效果就是每次点击button都会重新给i赋值,根本无法判断。后来问舍友才知道直接判断button里的内容就可以了。。。。

    三、总结

            首先就是让我知道了微软的文档有多好用,他并不是科普的东西,更像是我们初学的“字典”。还有就是控件本身,选对一个好的控件对于一个应用真的很重要,能节省大量的时间和精力。总之做完这个播放器还是受益匪浅的。

    相关文章

      网友评论

          本文标题:使用uwp实现一个简单的媒体播放器

          本文链接:https://www.haomeiwen.com/subject/xfyqhftx.html