Windows 8使用MediaElement控件如何增加声音和音效

Windows 8使用MediaElement控件如何增加声音和音效,第1张

1.在Blend里打开XXXX.xaml,然后添加进去一个MediaElement控件(你也可以通过上面的搜索条搜索出来)。可以在工具栏中的>>箭头里找到,一定要选择“位置”。现在点击拖动到画面中,让MediaElement成为画面中的一部分,具体的位置可以随意摆放。MediaElement是专门用于播放声音和视频的控件,有非常多的属性和方法,我们只是播放背景音乐,所以只需要简单的设置IsLooping是循环播放的属性,选定该项之后音乐播放会循环播放;Source是音乐的来源,直接指定即可。

Position:获取或设置播放的进度Play:播放Pause:暂停Stop:停止还可以设置音量:Volume你可以看看MediaElement的介绍 http://msdn.microsoft.com/zh-cn/library/system.windows.controls.mediaelement(v=vs.95).aspx

一、整体效果

        上图是我所做的播放器的效果,比较简单也没有什么特殊的功能。整个播放器大部分都是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里的内容就可以了。。。。

三、总结

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11230822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存