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.
随机推荐
- rsync 文件同步和备份
rsync 是同步文件的利器,一般用于多个机器之间的文件同步与备份,同时也支持在本地的不同目录之间互相同步文件.在这种场景下,rsync 远比 cp 命令和 ftp 命令更加合适,它只会同步需要更新的 ...
- 获取用户登陆所在的ip及获取所属信息
package com.tcl.topsale.download.entity; public class GeoLocation { private String countryCode; priv ...
- 供Linux学习使用的在线模拟系统
前言 我只是一名搬运工. 最近想要找一个linux服务器用于调试shell脚本,但是公司服务器又只能内网访问,外网无法使用.对安装VMWARE+Linux镜像觉得繁琐.查找了一下资料.找到了几个在线模 ...
- tensorflow object detection api graph rewriter
目前,tensorflow 目标识别的api函数可以使用 graph rewriter这样的配置,这样配置的引入主要是为了模型压缩使用,具体设置参数有: syntax = "proto2&q ...
- Linux NGINX部署
一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...
- winfrom中pictureBox控件的部分使用方法
一.后台属性 1.pictureBox1.Image显示图片 2.pictureBox1.ImageLocation存储和提取图片路径 二.面板属性 1.Picturebox控件SizeMode属性 ...
- JAVA WEN开发环境与搭建
一.下载安装JDK1.配置jdk开发环境JAVA_HOME 2.path 二.下载安装eclipse javaEE版本 三.安装部署tomcat3.1.安装: 直接解压到指定目录即可.(注:目录不要太 ...
- java课程之团队开发冲刺1.2
一.总结昨天进度 1.三个任务都已经实现 2.使用时间:四个小时左右 二.遇到的困难 1.对Android原生的侧拉任务栏不了解,导致使用的时候出现了一部分问题 三.今天任务规划 1.对之前的程序重新 ...
- Tensorflow的验证码识别
最近在弄深度学习,从网上找了一些资料.这是基于Tensorflow的深度学习的验证码识别.https://cuijiahua.com/blog/2018/01/dl_5.html http://blo ...
- Ganglia监控扩展实现机制
Ganglia监控扩展实现机制 默认安装完成的Ganglia仅向我们提供基础的系统监控信息,通过Ganglia插件可以实现两种扩展Ganglia监控功能的方法.1.添加带内(in-band)插件,主要 ...