コード例 #1
0
        private string GetVideoDuration(int fileId)
        {
            string duration = "";
            if (Settings_Portal.General.FileStorage == LocalUtils.FileStorage_Local)
            {
                FileController ctlFile = new FileController();
                DotNetNuke.Services.FileSystem.FileInfo objFile = new DotNetNuke.Services.FileSystem.FileInfo();
                DotNetNuke.Entities.Portals.PortalController ctlPortal = new DotNetNuke.Entities.Portals.PortalController();
                DotNetNuke.Entities.Portals.PortalInfo pi = ctlPortal.GetPortal(PortalId);
                objFile = ctlFile.GetFileById(fileId, PortalId);

                if (objFile != null && System.IO.File.Exists(objFile.PhysicalPath))
                {
                    System.IO.FileInfo objPhysical = new System.IO.FileInfo(objFile.PhysicalPath);
                    if (Settings_Portal.Video.VideoConvert && Settings_Portal.Video.PassPermissionCheck)
                    {
                        Cross.DNN.Common.VideoManage.VideoManageOption option = new Cross.DNN.Common.VideoManage.VideoManageOption();
                        option.General.FFMPEGPath = VideoConvert_ExecuteFolder + "\\ffmpeg\\ffmpeg.exe";
                        option.General.FLVToolPath = VideoConvert_ExecuteFolder + "\\ffmpeg\\flvtool2.exe";
                        option.General.MencoderPath = VideoConvert_ExecuteFolder + "\\mencoder\\mencoder.exe";
                        option.General.MencoderDirectory = VideoConvert_ExecuteFolder + "\\mencoder";
                        option.General.InputPath = objPhysical.Directory.FullName;
                        option.General.OutputPath = objPhysical.Directory.FullName;
                        option.Video.ExitProcess = Settings_Portal.Video.ProcessExitTime;
                        option.General.FileName = objPhysical.Name;
                        Cross.DNN.Common.VideoManage.VideoController ctlVideo = new Cross.DNN.Common.VideoManage.VideoController(option);
                        duration = ctlVideo.Get_Info().Duration;

                    }
                }
            }
            if (Settings_Portal.General.FileStorage == LocalUtils.FileStorage_A3)
            {
                A3FileInfo objA3File = A3FileController.Get(fileId);
                if (objA3File != null)
                {
                    duration = objA3File.Duration;
                }
            }
            return duration.Trim();
        }