Naudio. Документация - склеить два аудиофайла - C#

Узнай цену своей работы

Формулировка задачи:

Мне нужно смешать (например есть 2 файла, нужно склеить их в 1 файл) несколько аудио в одну. Полазал по форуму, нашел naudio. Зашел на их сайт, скачал примеры, посмотрел видео (кстати очень неудобные уроки на видео, документация в виде ответов на вопросы... Ужс. Так что если кто знает нормальную документацию этой библиотеки с описанием функций, скиньте пожалуйста, ато в демках код вижу, а что к чему не понимаю). Однако в тех примерах нет нужной мне информации. Точнее она есть, но я не могу понять что и куда писать, в комментариях там тоже непонимающие. http://mark-dot-net.blogspot.ru/2010...-in-c-and.html Собственно вопросы: Каким способом (если не naudio) можно это реализовать? Желательно с документацией. Где можно побольше узнать о naudio? P.S.Готовых примеров не прошу, только если с комментариями.

Решение задачи: «Naudio. Документация - склеить два аудиофайла»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using NAudio.Wave;
 
namespace NAudioOne
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            string[] files = null;
 
            OpenFileDialog open = new OpenFileDialog();
            open.Multiselect = true;
            open.Filter = "Mp3 Files|*.mp3";
            button1.Click += (a, b) =>
            {
                if (open.ShowDialog() == DialogResult.OK)
                {
                    files = open.FileNames;
                    listBox1.Items.Clear();
                    listBox1.Items.AddRange(files);
                }
            };
            button3.Click += (a, b) =>
                {
 
                    Combine(files, File.Create(
                        new string(DateTime.Now.ToString().Where(char.IsDigit).ToArray()) + ".mp3"));
                };
        }
        private void Combine(string[] inputFiles, Stream output)
        {
            progressBar1.Minimum = 0;
            progressBar1.Value = 0;
            progressBar1.Maximum = inputFiles.Length;
            foreach (string file in inputFiles)
            {
                Mp3FileReader reader = new Mp3FileReader(file);
                if ((output.Position == 0) && (reader.Id3v2Tag != null))
                {
                    output.Write(reader.Id3v2Tag.RawData, 0, reader.Id3v2Tag.RawData.Length);
                }
                Mp3Frame frame;
                while ((frame = reader.ReadNextFrame()) != null)
                {
                    output.Write(frame.RawData, 0, frame.RawData.Length);
                }
                progressBar1.Increment(1);
            }
            MessageBox.Show("Файлы успешно соединены");
            progressBar1.Value = 0;
            output.Close();
        }
 
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5