29 m_audioInputFile(nullptr),
30 m_audioOutputFile(nullptr)
38 #if TTK_QT_VERSION_CHECK(6,0,0)
41 const QAudioDevice input_info(QMediaDevices::defaultAudioInput());
44 TTK_WARN_STREAM(
"Input default format file not supported try to use preferred");
48 const QAudioDevice output_info(QMediaDevices::defaultAudioOutput());
55 const QAudioDeviceInfo input_info(QAudioDeviceInfo::defaultInputDevice());
58 TTK_WARN_STREAM(
"Input default format file not supported try to use nearest");
62 const QAudioDeviceInfo output_info(QAudioDeviceInfo::defaultOutputDevice());
70 #if TTK_QT_VERSION_CHECK(6,0,0)
73 case QAudioFormat::Unknown: bit = 0;
break;
74 case QAudioFormat::UInt8: bit = 8;
break;
75 case QAudioFormat::Int16: bit = 16;
break;
76 case QAudioFormat::Int32: bit = 32;
break;
77 case QAudioFormat::Float: bit = 32;
break;
78 case QAudioFormat::NSampleFormats: bit = 0;
break;
86 TTK_INFO_STREAM(QString(
"Audio device doesn't support 16 bit, support %1 bit samples").arg(bit));
131 const int headerSize =
sizeof(fileHeader);
133 FILE *input =
nullptr;
134 FILE *output =
nullptr;
140 if((output = fopen(
qPrintable(fileName),
"wb+")) ==
nullptr)
145 if(fwrite(&fileHeader, 1, headerSize, output) != headerSize)
155 const int nRead = fread(readBuf, 1, 4096, input);
158 fwrite(readBuf, 1, nRead, output);
165 fileHeader.
riffLength = fileLen - 8 + headerSize;
168 if(fwrite(&fileHeader, 1, headerSize, output) != headerSize)
183 #if TTK_QT_VERSION_CHECK(5,0,0)
198 m_file->setFileName(name);
203 return m_file->fileName();
218 if(!
m_file->isOpen() &&
m_file->open(QIODevice::WriteOnly | QIODevice::Truncate))
229 #if TTK_QT_VERSION_CHECK(5,0,0)
int addWavHeader(const char *fileName) const
QAudioFormat m_formatFile
~MusicAudioRecorderModule()
void setFileName(const QString &name)
static constexpr int REWRITE_FILE_ERROR
#define TTK_WARN_STREAM(msg)
#define TTK_RECORD_DATA_FILE
#define TTK_INFO_STREAM(msg)
QtAudioOutput * m_audioOutputFile
The class of the music meta.
static constexpr int WRITE_FILE_ERROR
static constexpr int OPEN_FILE_ERROR
static constexpr int SAVE_FILE_ERROR
void setVolume(int volume)
QtAudioInput * m_audioInputFile
MusicAudioRecorderModule(QObject *parent=nullptr)
int volume() const noexcept
#define TTK_ERROR_STREAM(msg)
bool error() const noexcept