Skip to content

Commit 166ced6

Browse files
authored
fix: audio > 10s not working (#8)
This should fix all issues with audio not working past 10seconds
1 parent 7cd5bbc commit 166ced6

3 files changed

Lines changed: 17 additions & 12 deletions

File tree

Audiotool/Converters/WavConverter.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Collections.ObjectModel;
1+
using System.Collections.ObjectModel;
22
using System.IO;
33
using Audiotool.model;
44
using FFMpegCore;
@@ -8,12 +8,13 @@ namespace Audiotool.Converters;
88
public static class WavConverter
99
{
1010
public static void ConvertToWav(List<Audio> audioFiles, string outputFolder)
11-
{
11+
{
1212
foreach (Audio audio in audioFiles)
1313
{
14+
string outputPath = Path.Combine(outputFolder, $"{audio.FileName}.wav");
15+
1416
if (audio.FileExtension != "wav")
1517
{
16-
string outputPath = Path.Combine(outputFolder, $"{audio.FileName}.wav");
1718
FFMpegArguments ff = FFMpegArguments
1819
.FromFileInput(audio.FilePath);
1920
_ = ff.OutputToFile(outputPath, true, opt =>
@@ -27,9 +28,13 @@ public static void ConvertToWav(List<Audio> audioFiles, string outputFolder)
2728
if (audio.Channels != 1)
2829
opt.WithCustomArgument("-ac 1");
2930
}).ProcessSynchronously();
30-
31-
audio.FileSize = (ulong)new FileInfo(outputPath).Length; //; (long)(info.PrimaryAudioStream.BitRate * info.Duration.TotalSeconds * info.PrimaryAudioStream.Channels);
3231
}
32+
else
33+
{
34+
File.Copy(audio.FilePath, outputPath, true);
35+
}
36+
37+
audio.FileSize = (ulong)new FileInfo(outputPath).Length;
3338
}
3439
}
35-
}
40+
}

Audiotool/model/Audio.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Xml;
1+
using System.Xml;
22

33
namespace Audiotool.model;
44

@@ -42,7 +42,7 @@ public class Audio
4242

4343
public List<XmlNode> GenerateXML(XmlDocument doc)
4444
{
45-
if (FileSize >= 1.5 * 1024 * 1024)
45+
if (FileSize > (1.5 * 8 * 1024 * 1024))
4646
{
4747
streamFormat = true;
4848
}
@@ -238,4 +238,4 @@ private void AppendAttributeElement(XmlDocument doc, XmlElement parent,
238238
element.SetAttribute(attributeName, attributeValue);
239239
parent.AppendChild(element);
240240
}
241-
}
241+
}

Audiotool/repository/NativeAudioRepo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Audiotool.model;
1+
using Audiotool.model;
22
using FFMpegCore;
33
using System.Collections.ObjectModel;
44
using System.IO;
@@ -38,11 +38,11 @@ public async Task AddAudioFile(string path)
3838
SampleRate = info.PrimaryAudioStream.SampleRateHz,
3939
Duration = info.Duration,
4040
Channels = info.PrimaryAudioStream.Channels,
41-
FileSize = (ulong)(info.PrimaryAudioStream.BitRate * info.Duration.TotalSeconds * info.PrimaryAudioStream.Channels)
41+
FileSize = (ulong)new FileInfo(path).Length
4242
};
4343

4444

45-
AudioFiles.Add(audioFile);
45+
AudioFiles.Add(audioFile);
4646
}
4747

4848
public ObservableCollection<Audio> GetAudioFiles() => new(AudioFiles);

0 commit comments

Comments
 (0)