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;
            }
原文地址:https://www.cnblogs.com/tiandi/p/6252648.html