Esempio n. 1
0
        private void txtHours_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Double         duration       = 0.0;
                Double         audioSize      = 0.0;
                Double         audioBitrate   = 0.0;
                AudioValueType audioValueType = AudioValueType.AudioBitrate;
                Double         audioValue     = 0.0;
                Double         videoSize      = 0.0;

                duration = brCalc.GetSecondsFromTime(Int32.Parse(txtHours.Text), Int32.Parse(txtMinutes.Text), Int32.Parse(txtSeconds.Text));
                txtCalculatedDuration.Text = duration.ToString("#.00");

                if (radioUseAudioBitrate.Checked)
                {
                    audioSize         = brCalc.BitrateToSize(AcHelper.DoubleParse(txtAudioBitrate.Text), duration) / 1024.0 / 1024.0;
                    txtAudioSize.Text = (audioSize).ToString("#.00");
                    audioValueType    = AudioValueType.AudioBitrate;
                    audioValue        = AcHelper.DoubleParse(txtAudioBitrate.Text);
                }
                else if (radioUseAudioSize.Checked)
                {
                    audioBitrate         = brCalc.SizeToBitrate(AcHelper.DoubleParse(txtAudioSize.Text) * 1024.0 * 1024.0, duration);
                    txtAudioBitrate.Text = audioBitrate.ToString("#.00");
                    audioValueType       = AudioValueType.AudioFileSize;
                    audioValue           = AcHelper.DoubleParse(txtAudioSize.Text) * 1024.0 * 1024.0;
                    audioSize            = audioValue;
                }

                if (radioUseVideoBitrate.Checked)
                {
                    videoSize = brCalc.BitrateToSize(AcHelper.DoubleParse(txtTargetVideoBitrate.Text), duration);
                    txtTargetVideoFileSize.Text = (videoSize / 1024.0 / 1024.0).ToString("#.00");
                    txtTargetTotalFileSize.Text = ((videoSize + audioSize) / 1024.0 / 1024.0).ToString("#.00");// (brCalc.CalculateTarget(duration, audioValueType, audioValue, Video_Value_Type.Video_Bitrate, AcHelper.DoubleParse(txtTargetVideoBitrate.Text)) / 1024.0 / 1024.0).ToString("#.00");
                }
                else if (radioUseTotalFileSize.Checked)
                {
                    txtTargetVideoBitrate.Text = brCalc.CalculateTarget(duration, audioValueType, audioValue, VideoValueType.TotalFileSize, AcHelper.DoubleParse(txtTargetTotalFileSize.Text) * 1024.0 * 1024.0).ToString("#.00");
                    videoSize = brCalc.BitrateToSize(AcHelper.DoubleParse(txtTargetVideoBitrate.Text), duration);
                    txtTargetVideoFileSize.Text = (videoSize / 1024.0 / 1024.0).ToString("#.00");
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="duration">in seconds</param>
        /// <param name="audioValueType"></param>
        /// <param name="audioValue">in kbps for bitrate, in bytes for size</param>
        /// <param name="videoValueType"></param>
        /// <param name="videoValue">in kbps for bitrate, in bytes for size</param>
        /// <returns></returns>
        public Double CalculateTarget(Double duration, AudioValueType audioValueType, Double audioValue,
                                      VideoValueType videoValueType, Double videoValue)
        {
            Double targetValue = 0.0;
            Double audioSize   = 0.0;
            Double videoSize   = 0.0;

            switch (audioValueType)
            {
            case AudioValueType.AudioBitrate:
                audioSize = BitrateToSize(audioValue, duration);
                break;

            case AudioValueType.AudioFileSize:
                audioSize = audioValue;
                break;
            }
            switch (videoValueType)
            {
            case VideoValueType.TotalFileSize:
                //Target Value is video bitrate
                targetValue = SizeToBitrate(videoValue - audioSize, duration);
                break;

            case VideoValueType.VideoFileSize:
                //Target Value is video bitrate
                targetValue = SizeToBitrate(videoValue, duration);
                break;

            case VideoValueType.VideoBitrate:
                //Target Value is total filesize
                videoSize   = BitrateToSize(videoValue, duration);
                targetValue = audioSize + videoSize;
                break;

            default:
                break;
            }

            return(targetValue);
        }