在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);这里写的是播放录音,这里的音频全都是写到文件当中去的,若不需要这么做可以写在内存当中,
这是我第一次写录音的东西,有很多东西写的不是很清楚,若是只需要简单使用,这个应该是可以实现效果,