在qt5当中,可以找到QAudioFormat类,QAudioInput类以及QAudioOutput类,在使用这些类的时候需要在pro文件当中加上QT += multime。这样在加上这三个头文件的时候才不会报错,
file =new QFile();
file->setFileName("E:\\nihao.raw");//设置其实设置音频文件的存放路径(输入音频名及存放路径)
bool is_open =file->open(QIODevice::WriteOnly | QIODevice::Truncate);
if(!is_open)
{
qDebug()<<"打开失败失败"<<endl;
exit(1);
}
QAudioFormat format;
format.setSampleRate(8000); //设置采样的赫兹
format.setChannelCount(1); //设置通道数通道
format.setSampleSize(8); //设置样本大小,一般为8或者16
format.setCodec("audio/pcm");//设置编解码器
format.setByteOrder(QAudioFormat::LittleEndian);//
format.setSampleType(QAudioFormat::UnSignedInt);//
QAudioDeviceInfo info = QAudioDeviceInfo::defaultInputDevice();
QString str=info.deviceName();
qDebug()<<"使用的录音设备是:"<<str<<endl;
if(!info.isFormatSupported(format))
{
format = info.nearestFormat(format);
}
input = new QAudioInput(format, this);
ui->Record_text->setText("录音开始......");
input->start(file);
上面所写就是录音,
file->setFileName("E:\\nihao.raw");file->open(QIODevice::ReadOnly);QAudioFormat format;format.setSampleRate(8000);format.setChannelCount(1);format.setSampleSize(8);format.setCodec("audio/pcm");format.setByteOrder(QAudioFormat::LittleEndian);format.setSampleType(QAudioFormat::UnSignedInt);output = new QAudioOutput(format);output->start(file);这里写的是播放录音,这里的音频全都是写到文件当中去的,若不需要这么做可以写在内存当中,
这是我第一次写录音的东西,有很多东西写的不是很清楚,若是只需要简单使用,这个应该是可以实现效果,