hi , all.

i use QAudioInput record sound.

input code is :
Qt Code:
  1. void start(){
  2. file = new QFile("C:/audiorecord.raw");
  3. file->open(QIODevice::WriteOnly | QIODevice::Truncate);
  4. //set format
  5. QAudioFormat format;
  6. format.setSampleRate(8000);
  7. format.setChannelCount(1);
  8. format.setSampleSize(32);
  9. format.setCodec("audio/pcm");
  10. format.setByteOrder(QAudioFormat::LittleEndian);
  11. format.setSampleType(QAudioFormat::Float);
  12.  
  13. input = new QAudioInput(format, this);//input is QAudioInput * input;
  14. input->start(file);
  15. }
  16.  
  17. void finish(){
  18. input->stop();
  19. file->close();
  20. }
To copy to clipboard, switch view to plain text mode 

write data to successful , call function "void finish()" later.

Qt Code:
  1. void play(){
  2. file->setFileName("C:/audiorecord.raw");
  3. file->open(QIODevice::ReadOnly);
  4.  
  5. QAudioFormat format;
  6. format.setSampleRate(8000);
  7. format.setChannelCount(1);
  8. format.setSampleSize(32);
  9. format.setCodec("audio/pcm");
  10. format.setByteOrder(QAudioFormat::LittleEndian);
  11. format.setSampleType(QAudioFormat::Float);
  12.  
  13. output = new QAudioOutput(format,0);
  14. output->start(file);
  15. }
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.