c# winform DirectX播放器 可以任意设置宽高比 屏幕拉伸

第一步:dll引用

Microsoft.DirectX.dll

Microsoft.DirectX.AudioVideoPlayback.dll

如果没有的话,可能需要安装微软的DRECTX JDK

directx支持的视频文件格式: (*.avi; *.mov; *.mpg; *.mpeg; *.ts; *.wmv; *.vob; *.dat; *.rm; *.rmvb; *.flv)|*.avi; *.mov; *.mpg; *.mpeg; *.ts; *.wmv; *.vob; *.dat; *.rm; *.rmvb; *.flv";

第二步:开发代码

ourVideo = new Video(fileName);//视频文件路径
                    ourVideo.Ending += new EventHandler(ourVideo_Ending);//注册视频播放完成事件
                    ourVideo.Owner = this.picPlayWindow;//指定播放媒介pictureBox

                    ourVideo.Play();

                    duration = ourVideo.Duration;

private Video ourVideo = null;

ourVideo.Stop();

ourVideo.Dispose();

ourVideo.Fullscreen = true;

第三步:设定屏幕拉伸和宽高比

这个的设定是,通过设定pictureBox的大小和位置实现的。

if (common.isFullScreen == true)
            {
                this.picPlayWindow.Width = players1.Width - 2;
                this.picPlayWindow.Height = players1.Height - 2;

                this.picPlayWindow.Location = new Point(2, 2);
                this.picPlayWindow.Visible = true;
            }
            else
            {
                Size ds = ourVideo.DefaultSize;

                this.picPlayWindow.Width = players1.Width - 2;
                this.picPlayWindow.Height = players1.Width * ds.Height / ds.Width;

                int x = 2;
                int y = players1.Height / 2 - this.picPlayWindow.Height / 2;
                this.picPlayWindow.Location = new Point(x, y);
                this.picPlayWindow.Visible = true;
            }
时间: 2024-11-09 05:13:28

c# winform DirectX播放器 可以任意设置宽高比 屏幕拉伸的相关文章

get新技能: 如何设置元素高度与宽度成特定比例。宽度改变,高度自动按比例改变。 例如设置宽高比16:9。

设置宽高比在很多时候是有用的. 下面的栗子,我们设置一个容器的宽高比为16:9 //HTML代码片段 <div class="container"> <div class="wrapper"> <div class="content">content</div> </div> </div> //css 代码 div{ border: 1px solid green; } .c

winform音频播放器(有声小说[凡人修仙传])

该程序采用多线程的技术及DataGridView单元格扩展的技术 1.获取下载列表 private void GetDownList() { //System.Web.HttpUtility.UrlDecode(解密 try { List<Model.Novel> list = new List<Model.Novel>(); WebResponse response = null; StreamReader reader = null; string Result = "

css体验优化之图片容器设置宽高比

需求 我们在做web页面的时候,经常会有一些图片列表,例如下图的视频列表以及表情列表:        需求要求: 1. 列表是responsive的,在不同宽度的浏览器下面,图片要自适应容器宽度 2. 图片在自适应的过程中,图片的长宽比要保持不变 常规解决方案 在container宽度固定的需求中(比如PC版页面),我们直接设置图片容器或者图片为固定的宽高就好了,比如: 1 img{ 2 width:330px; 3 height:180px; 4 } 但是这个不能满足需求,为了满足上面的需求两

android音乐播放器开发 SweetMusicPlayer 播放本地音乐

上一篇写了加载歌曲列表,http://blog.csdn.net/huweigoodboy/article/details/39856411,现在来总结下播放本地音乐. 一,MediaPlayer 首先来看看MediaPlayer的生命周期: Idle 状态:当使用new()方法创建一个MediaPlayer对象或者调用了其reset()方法时,该MediaPlayer对象处于idle状态.这两种方法的一个重要差别就是:如果在这个状态下调用了getDuration()等方法(相当于调用时机不正确

拖拽和自定义播放器

今天用到了拖拽,这个是在h5中的,拖拽其实拖得是标签,把标签当做一个全局变量,你想拖到哪儿就拖到哪儿,我们知道的标签中的img是默认支持拖拽的,所以不要设置属性,但其他的就要设置一个属性才能实现拖拽: 必须要有draggable=true才能实现. 拖拽一般是结合js使用的,光听意思就知道拖拽是动作了,它有几个注册事件: 1:开始拖拽时,是开始拖拽是的状态: 2:有开始就有结束: 他们两个其实很好记,就一个单词不一样,一个是start一个end,他们本身的意思就是一个开始一个结束的意思. 一般标

Chromium为视频标签&lt;video&gt;创建播放器的过程分析

Chromium是通过WebKit解析网页内容的.当WebKit遇到<video>标签时,就会创建一个播放器实例.WebKit是平台无关的,而播放器实现是平台相关的.因此,WebKit并没有自己实现播放器,而仅仅是创建一个播放器接口.通过这个播放器接口,可以使用平台提供的播放器来播放视频的内容.这就简化了Chromium对视频标签的支持.本文接下来就分析Chromium为视频标签创建播放器的过程. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! 以And

[Android]音乐播放器总结

1. MediaPlayer要播放的文件主要包括3个来源:a. 用户在应用中事先自带的resource资源例如:mp = MediaPlayer.create(this, R.raw.test);b. 存储在SD卡或其他文件路径下的媒体文件例如:mp.setDataSource("/sdcard/test.mp3");c. 网络上的媒体文件例如:mp.setDataSource("http://www.citynorth.cn/music/confucius.mp3"

基于我们3组的网易云APP制作,找的APlayer H5音乐播放器

APlayer是一个非常漂亮的HTML5音频播放器,UI参考自网易云音乐外链播放器.它将audio标签封装,并结合CSS制作出漂亮的播放器UI,它支持设置歌名.歌手和歌词,可以设置是否自动播放,支持缩略图,支持播放进度以及设置播放源. HTML 首先是要加载播放器样式文件,这个播放器的样式酷似网易云音乐播放器.接着载入APlayer.js文件.然后在body中加入播放器div#player1,用于显示播放.<link rel="stylesheet" href="APl

AvAudioPlayer类是编写iOS播放器

转载自 http://www.cnblogs.com/liukunpeng/p/3737412.html 首先介绍一下,AvAudioPlayer它是苹果公司封装好的一个类,用起来很方便,功能也很强大,但是它只支持播放沙盒存好的音乐,不支持在线播放,是苹果公司自家ipod播放器专用的.这点大家知道即可不必深究: 1,创建AvAudioPlayer: 在工程中导入(AVFoundation.framework)框架,它是首要的,否则一切免谈,然后导入(#import )这个头文件. 开始创建AvA