Как удалить конкретный сегмент из аудиофайла с использованием временных метров? [закрыто]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как удалить конкретный сегмент из аудиофайла с использованием временных метров? [закрыто]

Сообщение Anonymous »

Я работаю над проектом C#, где мне нужно удалить конкретный сегмент из аудиофайла (например, WAV, mp3) на основе начала и конечных времен, сохраняя при этом остальную часть аудиозаключения. Br /> Например, с учетом 20-минутного аудиофайла, я хочу удалить раздел с 17:00 до 19:00 и остаться с новым аудиофайлом, содержащим только 0: 00-17: 00 и 19 : 00-20: 00 (то есть, сохраняя детали до и после разреза). < /P>
Я использовал naudio и ffmpeg, чтобы обрезать файл, разрезая с самого начала или конца, но я Получите только мой желаемый фрагмент как отдельный файл, который не является тем, что я ищу, так как я хочу, чтобы он был удален из самого звука
вот что у меня есть:
static void RemoveSegment(string inputPath, string outputPath, double startTime, double endTime)
{
using (var reader = new Mp3FileReader(inputPath))
{
var writer = new FileStream(outputPath, FileMode.Create, FileAccess.Write);

int bytesPerMillisecond = reader.WaveFormat.AverageBytesPerSecond / 1000;
long startPosition = (long)(startTime * 1000) * bytesPerMillisecond;
long endPosition = (long)(endTime * 1000) * bytesPerMillisecond;

byte[] buffer = new byte[4096];
int bytesRead;

while ((bytesRead = reader.Read(buffer, 0, buffer.Length)) > 0)
{
if (reader.Position < startPosition || reader.Position > endPosition)
{
writer.Write(buffer, 0, bytesRead);
}
}

writer.Close();
}

Console.WriteLine("Segment removed successfully!");
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... timestamps
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»