qt5实时录音的问题

socket 发布于 2013/11/26 14:04
阅读 1K+
收藏 0
Qt

qt5提供了QAudioInput类可以录音,大致简略过程如下:

QFile outputFile;
QAudioInput *audio;
outputFile.setFileName("a.wav");
audio=new QAudioInput(format);//audio的配置暂时忽略。。。
audio.start(&outputFile);//开始录音到outputFile文件中



这样是可以录音到本地文件中的,但我想实时录音的话就要录制到内存中,请问audio.start(...)里面的这个参数填什么才能录制到内存中而不是本地文件呢?谢谢~

加载中
0
flames85
flames85

不要写到QFile里,写到QAudioDeviceInfo    m_audioInputDevice;里。

            audio.start(m_audioInputIODevice);

           connect(m_audioInputIODevice, SIGNAL(readyRead()),
                             this, SLOT(audioDataReady()));


然后在audioDataReady里

   m_audioInputIODevice->read(m_buffer.data() + m_dataLength,
                                       bytesToRead);


m_buffer是个QByteArray。就是你想要的内存。

返回顶部
顶部