added simple wave classes

To assist the input/output of PCM data, we use the fairly straight-forward
WAVE format. These classes simplify the input and output of such data.
This commit is contained in:
itsmattkc
2019-11-15 13:49:40 +09:00
parent 7a6dd02e5b
commit 9a44e656b5
7 changed files with 422 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
#ifndef WAVEINPUT_H
#define WAVEINPUT_H
#include <QFile>
#include "render/audioparams.h"
class WaveInput
{
public:
WaveInput(const QString& f);
~WaveInput();
Q_DISABLE_COPY_MOVE(WaveInput)
bool open();
bool is_open();
QByteArray read(int offset, int length);
void read(int offset, char *buffer, int length);
AudioRenderingParams params();
void close();
private:
bool find_str(QFile* f, const char* str);
AudioRenderingParams params_;
QFile file_;
qint64 data_position_;
};
#endif // WAVEINPUT_H