0

我很难从 QAudioInput 读取数据。我想做的是从缓冲区中分块读取数据,然后对其进行一些处理。我不想像大多数示例一样将数据流写入文件。

我尝试的是这样的:

    audioInput = new QAudioInput(info);
    audioInput->setBufferSize(buffer_size);
    audioInput->setNotifyInterval(250);

    qDebug() << "Error = " << audioInput->error();

    audioIODevice = audioInput->start();
    qDebug() << "dev=" << audioIODevice;

看来我可以创建 QAudioInput 对象。但是,当我启动它时,我得到一个空指针作为 QIODevice。根据文档...

QIODevice *QAudioInput::start()

Returns a pointer to the internal QIODevice being used to transfer data from the system's audio input. The device will already be open and read() can read data directly from it.

...我本来希望取回一个有效的句柄。

我尝试读取的设备报告为“alsa_input.usb-Logitech_Logitech_USB_Headset-00.mono-fallback”,以防万一。

4

0 回答 0