コード例 #1
0
        /// <summary>
        /// 关闭当前播放文件。
        /// </summary>
        public void Close()
        {
            int err;
            StringBuilder buf = new StringBuilder(1000);
            if (deviceID > 0)
            {
                Stop();

                MCI_GENERIC_PARMS gen = new MCI_GENERIC_PARMS();
                err = mciSendCommandA(deviceID, MCI_CLOSE, MCI_WAIT, ref gen);
                if (err != 0)
                {
                    mciGetErrorStringA(err, buf, 1000);
                    //throw new ApplicationException(buf.ToString());
                }
                deviceID = 0;
                devCaps = DevCaps.None;
                size = Size.Empty;
                if ((int)timer.Tag == 1)
                {
                    timer.Tag = 0;
                    timer.Stop();
                }
            }
        }
コード例 #2
0
        private void GetDevcaps()
        {
            int devType = 0;

            if (GetDevcap(MCI_GETDEVCAPS_CAN_PLAY) > 0)
                devCaps = DevCaps.CanPlay;

            if (GetDevcap(MCI_GETDEVCAPS_CAN_RECORD) > 0)
                devCaps |= DevCaps.CanRecord;

            if (GetDevcap(MCI_GETDEVCAPS_CAN_SAVE) > 0)
                devCaps |= DevCaps.CanSave;

            if (GetDevcap(MCI_GETDEVCAPS_CAN_EJECT) > 0)
                devCaps |= DevCaps.CanEject;

            if (GetDevcap(MCI_GETDEVCAPS_HAS_VIDEO) > 0)
            {
                if (ShowHnd() == 0)
                    devCaps |= DevCaps.CanShowVideo;
            }

            devType = GetDevcap(MCI_GETDEVCAPS_DEVICE_TYPE);
            if (devType == MCI_DEVTYPE_ANIMATION || devType == MCI_DEVTYPE_DIGITAL_VIDEO
               || devType == MCI_DEVTYPE_VCR || devType == MCI_DEVTYPE_OVERLAY)
            {
                devCaps = devCaps | DevCaps.CanStep;
            }

            else if (devType == MCI_DEVTYPE_CD_AUDIO)
            {
                deviceType = DeviceType.CDAudio;
            }
            else if (devType == MCI_DEVTYPE_VIDEODISC)
            {
                deviceType = DeviceType.VideoDisc;
            }
        }