Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Init Speech Input
- void mainWidget::initializeAudioInput()
- {
- speechInput_AudioFormat.setFrequency(16000);
- speechInput_AudioFormat.setChannels(1);
- speechInput_AudioFormat.setSampleSize(16);
- speechInput_AudioFormat.setSampleType(QAudioFormat::SignedInt);
- speechInput_AudioFormat.setByteOrder(QAudioFormat::LittleEndian);
- speechInput_AudioFormat.setCodec("audio/pcm");
- speechInput_AudioDeviceInfo = QAudioDeviceInfo::defaultInputDevice();
- speechInput_AudioInfo = new AudioInfo(speechInput_AudioFormat, this, "./data/tmp/speechInput.wav");
- connect(speechInput_AudioInfo, SIGNAL(update()), SLOT(refreshRender()));
- //createAudioInput();
- }
- // Create Audio Input
- void mainWidget::createAudioInput()
- {
- speechInput_AudioInput = new QAudioInput(speechInput_AudioDeviceInfo, speechInput_AudioFormat, this);
- speechInput_AudioInfo->start();
- speechInput_AudioInput->start(speechInput_AudioInfo);
- }
- // Stop Audio Input
- void mainWidget::stopAudioInput()
- {
- speechInput_AudioInput->stop();
- speechInput_AudioInfo->stop();
- speechInput_AudioInput->deleteLater();
- }
- // Refresh Render
- void mainWidget::refreshRender()
- {
- ui.widget_SpeechRender->setLevel(speechInput_AudioInfo->level());
- ui.widget_SpeechRender->repaint();
- }
- // Send Request
- void mainWidget::flacEncoderFinished(int exitCode, QProcess::ExitStatus exitStatus)
- {
- if (!exitCode)
- {
- QByteArray flacData = flacEncoder->readAll();
- protocol->Request_SPEECH(flacData);
- }
- flacEncoder->deleteLater();
- }
- // Speech Input Button - Start Speech
- void mainWidget::on_pushButton_Speech_clicked()
- {
- ui.frame_Speech->show();
- ui.textEdit_Input->setReadOnly(true);
- createAudioInput();
- QTimer::singleShot(5000,this,SLOT(on_pushButton_SpeechCancel_clicked()));
- }
- // Speech Input Button - Stop Speech
- // Call flacEncoder
- void mainWidget::on_pushButton_SpeechCancel_clicked()
- {
- if (!ui.frame_Speech->isVisible())
- {
- return;
- }
- ui.frame_Speech->hide();
- stopAudioInput();
- //delete speechInput_AudioInput;
- ui.label_Speech_Waiting->setText(QString("?????????"));
- ui.frame_Speech_Waiting->show();
- QString program = "./lib/flac.exe";
- /*
- * flac.exe -c --totally-silent -f -8 test.wav
- */
- QStringList arguments;
- arguments << "--totally-silent" << "-c" << "-f" << "-8" << QApplication::applicationDirPath() + "/data/tmp/speechInput.wav";
- flacEncoder = new QProcess(this);
- flacEncoder->start(program, arguments);
- connect(flacEncoder,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(flacEncoderFinished(int, QProcess::ExitStatus)));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement