Naïve Media Player
我的GitHub链接:https://github.com/Joyce45/hwt
一、播放器?怎么做?
提到播放器,首先想到的就是XAML控件库里的MediaElement,于是我又大致阅读了一下该控件的Documentation。
https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.mediaelement
找到了如下的代码:(正是这些代码构成了我的播放器雏形)
<MediaElement x:Name="mediaPlayer"/>
<Button Content="Choose file" Click="Button_Click"/>
private async void Button_Click(object sender, RoutedEventArgs e)
{
await SetLocalMedia();
} async private System.Threading.Tasks.Task SetLocalMedia()
{
var openPicker = new Windows.Storage.Pickers.FileOpenPicker(); openPicker.FileTypeFilter.Add(".mp4");
openPicker.FileTypeFilter.Add(".mp3"); var file = await openPicker.PickSingleFileAsync(); // mediaPlayer is a MediaElement defined in XAML
if (file != null)
{
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
mediaPlayer.SetSource(stream, file.ContentType); mediaPlayer.Play();
}
}
二、用户选择播放内容?怎么做?
下载好准备试用的mp3和mp4格式的文件后,运行以上代码,发现此时已经可以提供用户选择代码这个功能了!我知道,此时应该帮助用户做更多的判断选择,例如:如何在用户想要播放mp3格式时,对mp3和mp4进行预筛选。但是由于能力和时间有限,最终依然没能解决该问题。
三、播放时不会自动出现进度条?怎么做?
在搜索相关信息时,发现了AreTransportControlsEnabled 这个属性,它是用来显示MediaElement 控件自带的控制播放的控件,它自带全屏功能,它在全屏时会自动旋转为横屏。
https://blog.csdn.net/qq_16956581/article/details/39211855
找到了如下的代码:
<MediaElement x:Name="mediaPlayer"
VerticalAlignment="Center"
AreTransportControlsEnabled="True"
AutoPlay="false"
Source="Assets/Kenichiro Nishihara (Music Video)西原健一郎,音乐MV (2).mp4"
Height="530" Margin="100,100,100,0" RenderTransformOrigin="0.492,1.674" />
四、播放mp3格式的音频文件时,并不像其他播放软件会出现封面海报?怎么做?
关于这个问题,我询问过一些同学也查过一些资料,同学认为可以直接在XAML中添加一个image然后在C#中设定一个参数的值即可,但我尝试多次并未成功,然后我又转而用PosterSource这个属性,然而依然无果……但是界面实在有些单调,于是我增加了一个背景图。
<Grid.Background>
<ImageBrush ImageSource="Assets/gaomei3.jpg" Opacity="0.9" />
</Grid.Background>



总结:
对比现在市面上大部分的播放器,这个player就只能算是一个有简单播放功能的“界面”,但这也算是我本人第一次开始真正意义上使用库内的控件做一些小东西。还记得前几次作业提到的一些控件缺点与优点,应用程序里的技术应用的程度,自己开始使用时,才有了更深刻的感受,虽然做得非常简单,但是过程中确实学到了一些东西,例如:写代码这个事儿还真不能靠空想。上课的时候听什么都觉得,嗯,不难的,然而自己真正开始独立完成一些被教过东西的时候,世界都变了。
Naïve Media Player的更多相关文章
- Naïve Media Player, Part 2
项目主页网址: https://github.com/Judylalala/en Q1:如何播放online歌曲? A1:我本来以为会为MediaElement设置一个单独的属性播放online音频. ...
- 用VLC Media Player搭建简单的流媒体服务器
VLC可以作为播放器使用,也可以搭建服务器. 在经历了Helix Server和Darwin Streaming Server+Perl的失败之后,终于找到了一个搭建流媒体简单好用的方法. 这个网址中 ...
- android错误之MediaPlayer用法的Media Player called in state *,androidmediaplayer
用到Media Player,遇到几个问题,记一下 用法就不说了,使用的时候最好参考一下mediaPlayer的这张图 第一个错误是Media Player called in state 8 这个是 ...
- win7自带windows media player 已停止工作
解决方法如下: 在计算机开始,菜单找到控制面板 ,然后打开程序和功能,选择打开或关闭window功能,媒体功能.再取消windows Media Center Windows MediaPlayer选 ...
- 转:Media Player Classic - HC 源代码分析
VC2010 编译 Media Player Classic - Home Cinema (mpc-hc) Media Player Classic - Home Cinema (mpc-hc)播放器 ...
- Media Player 把光盘中的内容拷贝出来的方法
http://jingyan.baidu.com/article/cb5d610529f0c1005c2fe0b4.html 这个链接是通过Media Player 把光盘中的内容拷贝出来的方法h ...
- 20 Free Open Source Web Media Player Apps
free Media Players (Free MP3, Video, and Music Player ...) are cool because they let web developers ...
- Windows Media Player安装了却不能播放网页上的视频
前段时间遇到Windows Media Player安装了却不能播放网页上的视频的问题,在网上查找资料时,发现大部分资料都没能解决我这个问题.偶尔试了网上一牛人的方法,后来竟然解决了.现在再找那个网页 ...
- 如何在Windows中打开多个Windows Media Player
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在Windows中打开多个Windows Media Player.
随机推荐
- 如何用jquery获取form表单的值
$(function(){ $('.btn').click(function(){ alert($('#form').serialize()); }) }) 这样就获取到了 #form的值.
- codeblock 恢复默认字体设置
默认字体为:Courier New 我使用的codeblock版本为:17 .12. 今天我想调整一下codeblock的代码驱的字体,根据设置:settings->Editor->F ...
- xcode打包命令
xcodebuild clean -workspace Myproject.xcworkspace -scheme myProject xcodebuild archive -workspace My ...
- inpuy只能输入数字,并且禁止输入e
<el-input type="number" onkeyup="this.value=this.value.replace(/[^\d]/g,'')" ...
- chrome浏览器和其它浏览器对scrollTop、scrollLeft的获取方法
chrome浏览器不能通过document.documentElement.scrollTop来获得距上滚动距离,得到的值始终为0:需要用document.body.scrollTop来获取.其它浏览 ...
- nginx入门之编译安装
nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...
- pl/sql developer 问题总结
问题1,出现NLS_LANG和字符集(Character set)问题 安装完PL/SQL后打开,遇到如图问题. 原因:这是因为系统没有设置NLS_LANG系统变量. 解决方法:有两种方式查看. 1. ...
- mysql in 子查询 效率慢,对比
desc SELECT id,detail,groupId from hs_knowledge_point where groupId in ( UNION all ) UNION ALL SELEC ...
- Django Rest Framework 视图和路由
Django Rest Framework 视图和路由 DRF的视图 APIView 我们django中写CBV的时候继承的是View,rest_framework继承的是APIView,那么他们 ...
- 20175314 《Java程序设计》第八周学习总结
20175314 <Java程序设计>第八周学习总结 教材学习内容总结 安利一个非常实用的图片处理工具:图片工厂,它具有非常强大的图片批处理能力,比如加水印.降低画质.命名等,不仅如此它还 ...