zoukankan      html  css  js  c++  java
  • 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;
                }
  • 相关阅读:
    java之集合Collection详解之3
    委托的高级使用
    委托的一般使用
    泛型(Generic)委托
    泛型(Generic)方法(函数,算法)
    泛型(Generic)接口
    泛型(Generic)类的使用原因和使用方式
    C#反射从入门到放弃(这部分遇到的新东西太多了让人接受不能)
    反射应用——依赖注入
    接口的显式实现
  • 原文地址:https://www.cnblogs.com/tiandi/p/6252648.html
Copyright © 2011-2022 走看看