hi , all.
i use QAudioInput record sound.
input code is :
void start(){
file = new QFile("C:/audiorecord.raw");
//set format
QAudioFormat format;
format.setSampleRate(8000);
format.setChannelCount(1);
format.setSampleSize(32);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::Float);
input = new QAudioInput(format, this);//input is QAudioInput * input;
input->start(file);
}
void finish(){
input->stop();
file->close();
}
void start(){
file = new QFile("C:/audiorecord.raw");
file->open(QIODevice::WriteOnly | QIODevice::Truncate);
//set format
QAudioFormat format;
format.setSampleRate(8000);
format.setChannelCount(1);
format.setSampleSize(32);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::Float);
input = new QAudioInput(format, this);//input is QAudioInput * input;
input->start(file);
}
void finish(){
input->stop();
file->close();
}
To copy to clipboard, switch view to plain text mode
write data to successful , call function "void finish()" later.
void play(){
file->setFileName("C:/audiorecord.raw");
QAudioFormat format;
format.setSampleRate(8000);
format.setChannelCount(1);
format.setSampleSize(32);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::Float);
output = new QAudioOutput(format,0);
output->start(file);
}
void play(){
file->setFileName("C:/audiorecord.raw");
file->open(QIODevice::ReadOnly);
QAudioFormat format;
format.setSampleRate(8000);
format.setChannelCount(1);
format.setSampleSize(32);
format.setCodec("audio/pcm");
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::Float);
output = new QAudioOutput(format,0);
output->start(file);
}
To copy to clipboard, switch view to plain text mode
if the program not restarted , in "start()" later call function "play()" is no problem, Play success.
but if program restarted , call play() is program crash.
What's the problem?
I will very much appreciate it.
Bookmarks