我想创建一个小工具来录制音频,在录制过程中,录制过程中会产生很多额外的噪音

时间:2018-05-02 09:23:52

标签: qt audio

谢谢你看到: 开发环境:QT,windows 问题:我想创建一个小工具来录制音频,在录制过程中,录制过程中会产生很多额外的噪音。为什么?你能救我吗?

function: init()
{
    outputFile.setFileName("test.raw");
    outputFile.open( QIODevice::WriteOnly | QIODevice::Truncate );
    QAudioFormat format;

    format.setSampleRate(8000);
    format.setChannelCount(1);
    format.setSampleSize(8);
    format.setCodec("audio/pcm");
    format.setByteOrder(QAudioFormat::LittleEndian);
    format.setSampleType(QAudioFormat::UnSignedInt);
    QAudioDeviceInfo info = QAudioDeviceInfo::defaultInputDevice();
    if (!info.isFormatSupported(format))
    {
       qWarning()<<"default format not supported try to use nearest";
       format = info.nearestFormat(format);
    }
    audio = new QAudioInput(info, format, this);
    QTimer::singleShot(10000, this, SLOT(stopRecording()));
    audio->start(&outputFile);

    qDebug() <<"record begin!";
}

function: stopRecording()
{
    audio->stop();
    outputFile.close();
    delete audio;
    qDebug() <<"record end!";
}

1 个答案:

答案 0 :(得分:0)

录制音频,您必须确保QT设置与系统设置相同。

首先:你需要记录什么?麦克风或系统声音。 第二:设置它的格式

喜欢:

&#13;
&#13;
QAudioFormat format;

    format.setSampleRate(8000);
    format.setChannelCount(1);
    format.setSampleSize(16);
&#13;
&#13;
&#13;