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();
}
}
}