示例#1
0
        public static MediaInfoResource ToResource(this MediaInfoModel model)
        {
            if (model == null)
            {
                return(null);
            }

            return(new MediaInfoResource
            {
                AudioChannels = MediaInfoFormatter.FormatAudioChannels(model),
                AudioCodec = MediaInfoFormatter.FormatAudioCodec(model),
                AudioBitRate = MediaInfoFormatter.FormatAudioBitrate(model),
                AudioBits = MediaInfoFormatter.FormatAudioBitsPerSample(model),
                AudioSampleRate = MediaInfoFormatter.FormatAudioSampleRate(model)
            });
        }
示例#2
0
        private void AddMediaInfoTokens(Dictionary <string, Func <TokenMatch, string> > tokenHandlers, TrackFile trackFile)
        {
            if (trackFile.MediaInfo == null)
            {
                _logger.Trace("Media info is unavailable for {0}", trackFile);

                return;
            }

            var audioCodec             = MediaInfoFormatter.FormatAudioCodec(trackFile.MediaInfo);
            var audioChannels          = MediaInfoFormatter.FormatAudioChannels(trackFile.MediaInfo);
            var audioChannelsFormatted = audioChannels > 0 ?
                                         audioChannels.ToString("F1", CultureInfo.InvariantCulture) :
                                         string.Empty;

            tokenHandlers["{MediaInfo AudioCodec}"]         = m => audioCodec;
            tokenHandlers["{MediaInfo AudioChannels}"]      = m => audioChannelsFormatted;
            tokenHandlers["{MediaInfo AudioBitRate}"]       = m => MediaInfoFormatter.FormatAudioBitrate(trackFile.MediaInfo);
            tokenHandlers["{MediaInfo AudioBitsPerSample}"] = m => MediaInfoFormatter.FormatAudioBitsPerSample(trackFile.MediaInfo);
            tokenHandlers["{MediaInfo AudioSampleRate}"]    = m => MediaInfoFormatter.FormatAudioSampleRate(trackFile.MediaInfo);
        }