Ejemplo n.º 1
0
 internal bool HasOfferRights(
     MediaRightsEnum right,
     AudioEncodingEnum encoding,
     PriceTypeEnum priceType,
     out Right offer)
 {
     offer = this.GetOfferRight(right, encoding, priceType);
     return(offer != null);
 }
Ejemplo n.º 2
0
 internal bool HasRights(MediaRightsEnum right, AudioEncodingEnum encoding)
 {
     if (FeatureEnablement.IsFeatureEnabled(Features.eMusic) && this.Rights != null)
     {
         foreach (Right right1 in Rights)
         {
             if (right == right1.RightEnum && encoding == right1.AudioEncodingEnum)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Ejemplo n.º 3
0
 internal Right GetOfferRight(
     MediaRightsEnum right,
     AudioEncodingEnum encoding,
     PriceTypeEnum priceType)
 {
     if (FeatureEnablement.IsFeatureEnabled(Features.eMusic) && this.Rights != null)
     {
         foreach (Right right1 in Rights)
         {
             if (right == right1.RightEnum && priceType == right1.PriceTypeEnum && (encoding == right1.AudioEncodingEnum && right1.OfferId != Guid.Empty))
             {
                 return(right1);
             }
         }
     }
     return(null);
 }
Ejemplo n.º 4
0
        internal static AudioEncodingEnum ToAudioEncoding(string value)
        {
            AudioEncodingEnum audioEncodingEnum = AudioEncodingEnum.None;

            if (!string.IsNullOrEmpty(value))
            {
                switch (value)
                {
                case "MP3":
                    audioEncodingEnum = AudioEncodingEnum.MP3;
                    break;

                case "WMA":
                    audioEncodingEnum = AudioEncodingEnum.WMA;
                    break;
                }
            }
            return(audioEncodingEnum);
        }
Ejemplo n.º 5
0
        internal static string AudioFormat(this AudioEncodingEnum AudioEncoding)
        {
            switch (AudioEncoding)
            {
            case AudioEncodingEnum.mp3:
                return("libmp3lame");

            case AudioEncodingEnum.mp2:
                return("mp2");

            case AudioEncodingEnum.ac3:
                return("ac3");

            case AudioEncodingEnum.aac:
                return("libfaac");

            default:
                return("libmp3lame");
            }
        }
Ejemplo n.º 6
0
 public static async Task GenerateAudioAsync(this VideoInfo video, System.IO.FileInfo audiofile, AudioEncodingEnum audioEncoding = AudioEncodingEnum.mp3, SoundTypeEnum channels = SoundTypeEnum.Stereo, int audioBitRate = 128, int audioFrequency = 44100)
 {
     var ffmpeg = new FFMpeg(Logger);
     await ffmpeg.GenerateAudioAsync(video, audiofile, audioEncoding, channels, audioBitRate, audioFrequency);
 }
Ejemplo n.º 7
0
        public async Task GenerateAudioAsync(VideoInfo video, System.IO.FileInfo Audiofile, AudioEncodingEnum AudioEncoding = AudioEncodingEnum.mp3, SoundTypeEnum Channels = SoundTypeEnum.Stereo, int AudioBitRate = 128, int AudioFrequency = 44100)
        {
            if (Audiofile.Exists)
            {
                Audiofile.Delete();
            }

            var FNWE          = video.File.FileNameWithoutExtension() + "_Audio";
            var TempDirectory = new System.IO.DirectoryInfo(video.File.Directory.FullName + @"\.Temp\" + DateTime.Now.Year + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00"));

            if (!TempDirectory.Exists)
            {
                TempDirectory.Create();
            }
            System.IO.FileInfo TempLogFile = new System.IO.FileInfo(TempDirectory.FullName + @"\" + FNWE + ".log");
            if (TempLogFile.Exists)
            {
                TempLogFile.Delete();
            }

            _logger.LogDebug("Grabbing Audio");
            var LogData = await RunFFMpegAsync("-i \"" + video.File.FullName + "\" -vn -acodec " + AudioEncoding.AudioFormat() + " -ab " + AudioBitRate + "k -ac " + System.Convert.ToInt32(Channels) + " -ar " + AudioFrequency + " -y \"" + Audiofile.FullName + "\"");

            var SW = new System.IO.StreamWriter(TempLogFile.OpenWrite());

            SW.Write(LogData);
            SW.Close();
            if (EncodingState == EncodingStateEnum.Not_Encoding)
            {
                throw new Exception("No audio was encoded.\n\r" + LogData);
            }
            _logger.LogDebug("Audio Grabbed");
            Audiofile.Refresh();
        }