QAudioRecorder 获取音视频的设备,麦克风实时检测问题

在获取音视频设备中遇到了一个麦克风实时检测问题(热插拔)
起初获取是通过 audioInputs() 重新调用这个函数时没有重新检测到新的结果这里因为之前避免掉使用计时器所以就没用,每次通过调用audioinputs() 所在的函数进行识别
QAudioRecorder *m_record = Q_NULLPTR;
QStringList inputs = m_record->audioInputs(); //二次调用此时inputs不会改变
if (inputs.size() == 0) {
return 2; // 找不到输入设备
}
解决:
QList audiolist = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
QString inputs;
foreach (QAudioDeviceInfo devInfo, audiolist) {
inputs = devInfo.deviceName();
if(devInfo.isNull())
{
continue;
}
}
通过这种方式获取到的devices设备信息就可以通过每次调用函数的时候inputs 就会改变,但是又存在另一个弊端,设备在拔出可以立刻检测到,但是设备信息在插入时没有立刻检测到,有一个14s左右的时间迟钝,不明白是为什么,我用电脑自带的录音机测试,有时也有这个问题,不能立刻识别到所以不知道是否是电脑本身的问题,这个方式也使用于在timeEvent去及时录音设备时间时,当设备拔掉,立刻结束掉录音。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值