NAudio көмегімен mp3 файлдарды кесу

NAudio көмегімен MP3 файлын кесуге болады ма? Мен стандартты mp3 файлды алудың жолын іздеймін және оның бір бөлігін алып, оны бөлек mp3 етіп жасаймын.

6
Бұл мәселе қайта ашылуы керек. Бұл дубликат емес. Мен екі сұраққа да жауап беріп, жауаптар басқаша.
қосылды автор Ronnie Overby, көзі
@RonnieOverby келісілді, қайта ашылды :)
қосылды автор Kasra Rahjerdi, көзі

2 жауаптар

Нуэттен NAudio орнату:

PM> Install-Package NAudio

көмегімен NAudio.Wave және осы кодты пайдаланыңыз:

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

Бақытты жолдар.

10
қосылды
Бұл жұмыс NAudio 1.7 арқылы сыналды
қосылды автор Samuel, көзі
Бұл әдісті пайдаланып, кейбір ойыншылардың ұзындығы дұрыс емес деп тапқан mp3мен қалдым. Кейбір ойыншылар ескі (алдын ала кесілген) ұзындығын анықтайды. Мұны түзетудің жолы бар ма?
қосылды автор Jarrod, көзі

Ия, MP3 файлы - бұл MP3 фреймдердің тізбегі, сондықтан сіз файлды қиып алу үшін басынан немесе соңынан кадрларды алып тастай аласыз. NAudio MP3 кадрларды бөле алады.

Қосымша ақпарат алу үшін бұл сұрақты қараңыз.

2
қосылды