关于在linux下用qt录音的问题

冷西瓜 2018-03-29 12:12:03
操作系统用的是Fedora 27
我编写了一段用qt录音的程序,要求是录制2s,大小控制在50kb以内的wav格式的音频文件,这样录出来的声音很小,有什么方法可以在录制2s,大小20kb以内的条件下让录制的文件跟在Windows下一样清晰吗?
PS:我在Windows下录制的同样配置的wav音频文件,声音比在Fedora下清晰了很多倍,不知道为啥。
这是我的recorder初始化函数的部分代码:
 QString audioInput="";
QString codec="";
int sampleRate=8000;
int bitRate=0;
int channelCount=-1;
//int quality=2;
if (e_recorder->state()==QMediaRecorder::StoppedState){
e_recorder->setAudioInput(audioInput);

QAudioEncoderSettings settings;
settings.setCodec(codec);
settings.setSampleRate(sampleRate);
settings.setBitRate(bitRate);
settings.setChannelCount(channelCount);
settings.setQuality(QMultimedia::HighQuality);
settings.setEncodingMode(QMultimedia::ConstantBitRateEncoding);

QString container="audio/x-wav";

e_recorder->setEncodingSettings(settings,QVideoEncoderSettings(),container);
//e_recorder->record();
return 1;
}

...全文
1233 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Little柯南 2018-03-30
  • 打赏
  • 举报
回复
要么直接使用外接库如:ffmpeg封装音频文件,要么就QAudioInput采集,QAudioOutput输出。如果想术业专攻,建议还是ffmpeg、vlc这些

16,227

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧