Exemple #1
0
        // ********************************************
        /// <summary>
        /// ファイルのヘッダーを読んでムービーファイルの種類を識別
        /// </summary>
        /// <param name="p">ムービーファイルのパス</param>
        /// <returns>ムービーの種類</returns>
        private MOVIE_TYPE GetHeader(string p)
        {
            MOVIE_TYPE ret = MOVIE_TYPE.OTHER;

            byte[] bs = GetByteData(p, 16, 0);
            if (bs.Length <= 0)
            {
                return(ret);
            }

            if ((bs[0] == 0x52) && (bs[1] == 0x49) && (bs[2] == 0x46) && (bs[3] == 0x46) && // 52 49 46 46
                (bs[8] == 0x41) && (bs[9] == 0x56) && (bs[10] == 0x49) && (bs[11] == 0x20))      //41 56 49 20
            {
                ret = MOVIE_TYPE.AVI;
            }
            else if ((bs[4] == 0x66) && (bs[5] == 0x74) && (bs[6] == 0x79) && (bs[7] == 0x70)) //66 74 79 70
            {
                if ((bs[8] == 0x71) && (bs[9] == 0x74))                                        //71 74 20 20
                {
                    ret = MOVIE_TYPE.QT;
                }
                else if ((bs[8] == 0x6D) && (bs[9] == 0x70) && (bs[10] == 0x34))        //6D 70 34
                {
                    ret = MOVIE_TYPE.MP4;
                }
            }
            return(ret);
        }
Exemple #2
0
 // ********************************************
 public void Init()
 {
     m_MOVIE_TYPE = MOVIE_TYPE.OTHER;
     m_FilePath   = "";
     m_FileName   = "";
     m_Width      = 0;
     m_Height     = 0;
     m_FrameRate  = 0;
     m_Duration   = 0;
     m_FileSize   = 0;
     Comment      = "";
 }
Exemple #3
0
        // ********************************************
        /// <summary>
        /// ムービーファイルを読み込んでいろいろ調べる
        /// </summary>
        /// <param name="p">ムービーのパス</param>
        /// <returns>対象のムービーだったらtrue</returns>
        public bool SetFilePath(string p)
        {
            bool ret = false;

            Init();
            if (File.Exists(p) == false)
            {
                return(ret);
            }
            m_MOVIE_TYPE = GetHeader(p);
            if (m_MOVIE_TYPE == MOVIE_TYPE.OTHER)
            {
                return(ret);
            }
            m_FilePath = p;
            m_FileName = Path.GetFileName(p);
            FileInfo finfo = new FileInfo(p);

            m_FileSize = finfo.Length;

            switch (m_MOVIE_TYPE)
            {
            case MOVIE_TYPE.AVI:
                ret = GetStatusAVI();
                break;

            case MOVIE_TYPE.QT:
            case MOVIE_TYPE.MP4:
                ret = GetStatusQT();
                break;
            }
            if (ret == false)
            {
                Init();
            }
            return(ret);
        }