Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "AudioRecord.h"
- #include <QMediaRecorder>
- #include <QMediaCaptureSession>
- #include <QAudioInput>
- #include <QAudioOutput>
- #include <QDir>
- #include <QFile>
- #include <QMediaRecorder>
- #include <QStandardPaths>
- #include <qmediadevices.h>
- #include <qmediaformat.h>
- #include <qaudiodevice.h>
- #include <qaudiobuffer.h>
- #include <qaudioinput.h>
- #include <QtCharts/QChartView>
- #include <QtCharts/QLineSeries>
- #include <QtCharts/QChart>
- #include <QtCharts/QValueAxis>
- AudioRecord::AudioRecord(QObject *parent) : QObject(parent) {
- // audioRecorder = new QMediaRecorder(this);
- // filePath = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + "/recording.wav";
- // audioRecorder->setOutputLocation(QUrl::fromLocalFile(filePath));
- }
- QMediaRecorder recorder;
- void AudioRecord::startRecording() {
- qDebug() << "starting recording";
- QList<QAudioDevice> availableDevices = QMediaDevices::audioInputs();
- for (const QAudioDevice &device : availableDevices) {
- qDebug() << "AvailableDevice:" << device.description();
- if (device.description() == "Headset Microphone (Realtek(R) Audio)") {
- m_audioInput.setDevice(device); // Используйте setDevice вместо присваивания
- qDebug() << "Selected device:" << device.description();
- break;
- }
- }
- // Убедитесь, что объект QMediaRecorder создан до QMediaCaptureSession.
- QMediaCaptureSession session;
- session.setAudioInput(&m_audioInput);
- session.setRecorder(&recorder);
- QMediaFormat format;
- format.setFileFormat(QMediaFormat::FileFormat::MP3);
- format.setAudioCodec(QMediaFormat::AudioCodec::AAC);
- recorder.setAudioChannelCount(1);
- recorder.setMediaFormat(format);
- recorder.setQuality(QMediaRecorder::HighQuality);
- // Убедитесь, что выходной файл имеет правильное расширение
- recorder.setOutputLocation(QUrl::fromLocalFile("example"));
- // Проверьте, что объект QMediaRecorder готов к записи
- if (!recorder.isAvailable()) {
- qDebug() << "Media not available for recording.";
- return;
- }
- // Начинайте запись
- recorder.record();
- qDebug() << "Recording started.";
- }
- void AudioRecord::pauseRecording()
- {
- qDebug() << "pause recording";
- }
- void AudioRecord::stopRecording() {
- recorder.stop();
- qDebug() << "ending recording";
- emit recordingFinished();
- }
- QString AudioRecord::getFilePath() const {
- return filePath;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement