Qt4 为什么可以';我是否使用QBuffer作为QAudio::start()的输出设备?
我刚刚从Qt的文档中复制了示例代码,唯一的区别是我选择使用内存缓冲区而不是本地文件,因此我在Qt4 为什么可以';我是否使用QBuffer作为QAudio::start()的输出设备?,qt4,qt4.7,Qt4,Qt4.7,我刚刚从Qt的文档中复制了示例代码,唯一的区别是我选择使用内存缓冲区而不是本地文件,因此我在QAudio::start()中放置了QBuffer buffer,但是当发出stateChanged时,buffer为空,并导致QAudio::IOError 类虚拟{ 私人: QBuffer;} void dummy::loop() { QAudioFormat格式; //设置你想要的格式,例如。 格式。设置频率(8000); 格式。设置频道(1); 格式设置示例(8); 格式化.setCodec(“
QAudio::start()
中放置了QBuffer buffer
,但是当发出stateChanged
时,buffer
为空,并导致QAudio::IOError
类虚拟{
私人:
QBuffer;}
void dummy::loop()
{
QAudioFormat格式;
//设置你想要的格式,例如。
格式。设置频率(8000);
格式。设置频道(1);
格式设置示例(8);
格式化.setCodec(“音频/pcm”);
setByteOrder格式(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::UnSignedInt);
QAudioDeviceInfo info=QAudioDeviceInfo::defaultInputDevice();
如果(!info.isFormatSupported(格式)){
qWarning()在使用前,您需要open()
aQIODevice
。插入类似于
buffer.open(QIODevice::ReadWrite);
…之前
audio->start (&buffer); // was originally a QFile , i put a QBuffer here
如何初始化缓冲区
?@Mat,它在头文件中声明为QBuffer buffer
,我尝试了ReadWrite
,它不起作用;但是这里使用WriteOnly
,并用只读
重新打开,不知道为什么,但现在,我只想在不删除它的情况下关闭问题。Read>Write
应该可以正常工作,它甚至包含在中。您介意用初始化QBuffer
的代码更新您的问题吗?它是头文件中声明的私有memeber
buffer.open(QIODevice::ReadWrite);
audio->start (&buffer); // was originally a QFile , i put a QBuffer here