• 4592阅读
  • 1回复

怎么把录音的数据存入QByteArray中 [复制链接]

上一主题 下一主题
离线磐石
 
只看楼主 倒序阅读 楼主  发表于: 2010-03-12
在QT4.6.2帮助文档中,有段关于把录音数据储存到文件的代码如下,我试了一下是行的,但我想直接把这些数据储存到QByteArray中,不知道怎么弄了,希望大侠指点一下,谢谢!
QFile outputFile; // class member.
QAudioInput* audio; // class member.
{
outputFile.setFileName("/tmp/test.raw");
outputFile.open( QIODevice::WriteOnly | QIODevice::Truncate );

QAudioFormat format;
format.setFrequency(8000);
format.setChannels(1);
format.setSampleSize(8);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::UnSignedInt);

if (QAudioDeviceInfo info(QAudioDeviceInfo::defaultInputDevice());
if (!info.isFormatSupported(format)) {
qWarning()<<"default format not supported try to use nearest";
format = info.nearestFormat(format);
}

audio = new QAudioInput(format, this);
QTimer::singleShot(3000, this, SLOT(stopRecording()));
audio->start(&outputFile);
}

下面这几句,是我自己的想法(把录音的数据存入QByteArray中)但行不通
QByteArray array;
QBuffer buffer(&array);
buffer->open(QIODevice::WriteOnly);
audio->start(&buffer);
不怕做不到,只怕想不到
离线baskerle

只看该作者 1楼 发表于: 2010-03-17
楼主可以录么~~录完是raw格式怎么放啊?
快速回复
限100 字节
 
上一个 下一个