Có thể cắt một tệp MP3 bằng NAudio không? Tôi đang tìm một cách để lấy một tập tin mp3 tiêu chuẩn và lấy một phần của nó và làm cho nó một mp3 riêng biệt.Cắt các tệp mp3 bằng NAudio
5
A
Trả lời
2
Có, tệp MP3 là một chuỗi các khung MP3, vì vậy bạn có thể chỉ cần xóa khung hình từ đầu hoặc cuối để cắt tệp. NAudio có thể phân tích các khung MP3.
Xem this question để biết thêm chi tiết.
9
Install NAudio từ NuGet:
PM> Install-Package NAudio
Thêm using NAudio.Wave;
và sử dụng mã này:
void Main()
{
var mp3Path = @"C:\Users\Ronnie\Desktop\podcasts\hanselminutes_0350.mp3";
var outputPath = Path.ChangeExtension(mp3Path,".trimmed.mp3");
TrimMp3(mp3Path, outputPath, TimeSpan.FromMinutes(2), TimeSpan.FromMinutes(2.5));
}
void TrimMp3(string inputPath, string outputPath, TimeSpan? begin, TimeSpan? end)
{
if (begin.HasValue && end.HasValue && begin > end)
throw new ArgumentOutOfRangeException("end", "end should be greater than begin");
using (var reader = new Mp3FileReader(inputPath))
using (var writer = File.Create(outputPath))
{
Mp3Frame frame;
while ((frame = reader.ReadNextFrame()) != null)
if (reader.CurrentTime >= begin || !begin.HasValue)
{
if (reader.CurrentTime <= end || !end.HasValue)
writer.Write(frame.RawData,0,frame.RawData.Length);
else break;
}
}
}
Chúc mừng những con đường mòn.
Câu hỏi này sẽ được mở lại. Nó không phải là một bản sao. Tôi đã trả lời cả hai câu hỏi và câu trả lời là khác nhau. –
@RonnieOverby Đồng ý, mở lại :) –