Ejemplo n.º 1
0
        private void ReadFile(AudioFileStream file)
        {
            ContainerTypes.Containers.TryGetValue(file.Type, out ContainerType type);

            if (type == null)
            {
                throw new ArgumentOutOfRangeException(nameof(file.Type), file.Type, null);
            }

            AudioWithConfig audio = type.GetReader().ReadWithConfig(file.Stream);

            file.Audio    = audio.Audio;
            Configuration = audio.Configuration;
        }
Ejemplo n.º 2
0
        public static byte[] ConvertFile(Options options, MemoryStream inputStream, FileType inputFileType, FileType outputFileType)
        {
            if (options.Job != JobType.Convert && options.Job != JobType.Batch)
            {
                return(null);
            }

            var converter = new ConvertStream();

            AudioFileStream audioFile = new AudioFileStream(inputStream, inputFileType);

            converter.ReadFile(audioFile);
            converter.EncodeFiles(audioFile, options);
            converter.SetConfiguration(outputFileType, options);
            return(converter.WriteFile());
        }
Ejemplo n.º 3
0
        private void EncodeFiles(AudioFileStream file, Options options)
        {
            if (file.Channels != null)
            {
                IAudioFormat format = file.Audio.GetAllFormats().First();
                file.Audio = new AudioData(format.GetChannels(file.Channels.ToArray()));
            }

            Audio = file.Audio; //Nothing to combine

            if (options.NoLoop)
            {
                Audio.SetLoop(false);
            }

            if (options.Loop)
            {
                Audio.SetLoop(options.Loop, options.LoopStart, options.LoopEnd);
            }
        }