I am completely new to JUCE framework. I want to concatenate multiple wav files. I am using the following code -
String fileName = "E:/output.wav";
File outputFile = File(fileName);
if (outputFile.exists())
outputFile.deleteFile();
outputFile.create();
WavAudioFormat wav;
for each (String filePath in arrFiles)
{
File inputFile = File(filePath);
ScopedPointer <AudioFormatReader> reader(wav.createReaderFor(inputFile.createInputStream(), true));
if (reader != nullptr)
{
ScopedPointer <OutputStream> outStream(outputFile.createOutputStream());
if (outStream != nullptr)
{
StringPairArray metaData = WavAudioFormat::createBWAVMetadata("", "", "", Time::getCurrentTime(), 0, "");
ScopedPointer <AudioFormatWriter> writer(wav.createWriterFor(outStream, reader->sampleRate, reader->numChannels,
(int)reader->bitsPerSample, metaData, 0));
if (writer != nullptr)
{
outStream.release();
bool ok = writer->writeFromAudioReader(*reader, 0, -1);
writer = nullptr;
reader = nullptr;
}
}
}
}
However, this doesn’t seem to work properly as it is playing sound of only one file instead of multiples. Am I doing anything wrong or would I have to do it another way?