jxl导出excel报表实例

使用C#打造自己的视频播放器,可以支持当前流行的各种视频格式,包括wmv,avi,rm rmvb等等(前提是你机器上有足够多的视频解码包)。下面是我写的一个程序,包括打开设备播放、暂停、停止、关闭设备、得到当前的播放状态。

using System;

using System.Collections.Generic;

using System.Text;

using System.Runtime.InteropServices;

namespace client

{

     class MMPlayer

    {

 

        [DllImport("winmm.dll")]

        private static extern long mciSendString(string strCommand,

        StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);

 

        public static string sCommand;

        public static IntPtr picPtr;        //要播放的句柄,可以是任何的

        private static int Flag = 1;

 

        /// <summary>

        /// 打开设备播放

        /// </summary>

        /// <param name="sFileName">要播放的视频文件名</param>

        /// <returns>返回视频大小(时间)</returns>

        public static StringBuilder Play(string sFileName)

        {

            StringBuilder time = new StringBuilder(128);

            string avi = sFileName.Substring(sFileName.IndexOf('.') + 1).ToLower();

            if (avi != "avi")

            {

                sCommand = "open /"" + sFileName + "/" type mpegvideo  alias MediaFile parent " + picPtr.ToString() + " style child ";

            }

            else

            {

                sCommand = "open /"" + sFileName + "/" type avivideo  alias MediaFile parent " + picPtr.ToString() + " style child ";

            }

            Console.WriteLine(sCommand);

            sCommand = "put MediaFile window client at 0 0 " + pictureBox1.Width + " " + pictureBox1.Height;

            mciSendString(sCommand, null, 0, picPtr);

            sCommand = "play MediaFile";

            mciSendString(sCommand, null, 0, picPtr);

          

            return time;

        }

 

         /// <summary>

         /// 停止

         /// </summary>

        public static void Stop()

        {

            sCommand = "stop MediaFile";

            mciSendString(sCommand, null, 0, picPtr);

           

        }

 

         /// <summary>

         /// 关闭设备

         /// </summary>

        public static void Close()

        {

            sCommand = "close MediaFile";

            mciSendString(sCommand, null, 0, picPtr);

        }

 

         /// <summary>

         /// 暂停、继续

         /// </summary>

        public static void Pause()

        {

            if (Flag == 1)

            {

                sCommand = "Pause MediaFile";

                mciSendString(sCommand, null, 0, picPtr);

                Flag = 0;

                return;

            }

            else

            {

                sCommand = "play MediaFile";

                mciSendString(sCommand, null, 0, picPtr);

                Flag = 1;

            }

        }

 

         /// <summary>

         /// 得到当前的播放状态

         /// </summary>

         /// <returns></returns>

         public static StringBuilder CurrentStatus()

        {

            StringBuilder status = new StringBuilder(128);

            mciSendString("status MediaFile mode", status, 128, picPtr);

            return status;

        }

 

 

    }

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值