void TvrUiWidget::on_actionOpen_triggered(){ if(getRecordingState() || getRecordingPausedState() || getPlayingState() || getPlayingPausedState()){ stopMedia(); } if(!getFileSavedState()){ if(isLRAvailable()){ showSaveFileDlg(); } } setLastRecording(false); if(showOpenFileDlg()){ pd = g_new0(player_data, 1); tvr_init_player(pd, fileNameO.toStdString().c_str()); g_timeout_add(1000, (GSourceFunc)tvr_parse_stream_length, pd); setFileOpenedState(true); t->start(1000); playMedia(); } }
void TvrUiWidget::updateProgressBar(){ if(getFileOpenedState() || getPlayingState()){ if(playButtonClicked){ updateBar(); return; } if(seconds == 0) { if( tvr_get_stream_length(pd) == 0){ return; } else { secondsCopy = tvr_get_stream_length(pd); seconds = secondsCopy; } } updateBar(); return; } if(getRecordingState()) { lengthFieldEditLabel->setText(QString::number(seconds, 10)); secondsCopy = seconds; seconds++; return; } }
void TvrUiWidget::on_actionSaveAs_triggered(){ if(getRecordingState() || getRecordingPausedState() || getPlayingState() || getPlayingPausedState()){ stopMedia(); } if(isLRAvailable()){ checkFileAndSave(); } showSaveMessageDlg(); setStoppedState(false); setButtonStatus(true, false, false, false, false, true); }
void TvrUiWidget::stopMedia(){ if(getRecordingState() || getRecordingPausedState()){ tvr_stop_recorder_pipeline(rd); if(rd){ g_free(rd); rd = NULL; } setRecordingState(false); setRecordingPausedState(false); setLastRecording(true); } if(getPlayingState() || getPlayingPausedState()){ tvr_stop_player_pipeline(pd); if(pd){ g_free(pd); pd = NULL; } if(playButtonClicked){ playButtonClicked = false; } setPlayingState(false); setPlayingPausedState(false); } // Stop Timer t->stop(); // Values need to be reset progBarValue = 0; retValue = 100; count = 0; seconds = 0; // Progress Bar needs to be reset tvrProgressBar->setValue(0); lengthFieldEditLabel->setText("0"); // Close all states setFileOpenedState(false); setFileSaveState(false); // Set Buttons Status setButtonStatus(true, true, false, false, true, true); statusLabelEdit->setText("Stopped"); }
void TvrUiWidget::on_actionNew_triggered(){ if(getRecordingState() || getRecordingPausedState() || getPlayingState() || getPlayingPausedState()){ stopMedia(); } if(!getFileSavedState()){ if(isLRAvailable()){ showSaveFileDlg(); } } setLastRecording(false); if(getFileSavedState()){ setButtonStatus(true, false, false, false, false, true); } }
void TvrUiWidget::on_actionPaused_triggered(){ if(getRecordingState()){ setRecordingState(false); setRecordingPausedState(true); statusLabelEdit->setText("Recording : Paused"); setButtonStatus(true, false, false, true, true, true); tvr_pause_recorder_pipeline(rd); } if(getPlayingState()){ setPlayingState(false); setPlayingPausedState(true); statusLabelEdit->setText("Playing : Paused"); setButtonStatus(false, true, false, true, true, true); tvr_pause_player_pipeline(pd); } }
void TvrUiWidget::on_actionRecord_triggered(){ if(!getRecordingState() && !getRecordingPausedState()){ if(!getFileSavedState()){ if(isLRAvailable()) { showSaveFileDlg(); } } setButtonStatus(false, false, true, true, true, true); rd = g_new0(recorder_data, 1); tvr_init_recorder(rd, tFile.toStdString().c_str()); seconds = 0; } statusLabelEdit->setText("Recording ..."); setRecordingState(true); setFileOpenedState(false); setButtonStatus(false, false, true, true, true, true); t->start(1000); tvr_play_recorder_pipeline(rd); }
AudioRecorder::AudioRecorder(QObject *parent) : QObject(parent) { source = new QAudioCaptureSource(this); recorder = new QMediaRecorder(source, this); QString folder = QDesktopServices::storageLocation(QDesktopServices::CacheLocation); audioFile = folder+"VoiceInputRecord.flac"; recorder->setOutputLocation(QUrl(audioFile)); QObject::connect(recorder, SIGNAL(stateChanged(QMediaRecorder::State)), this, SLOT(getRecordingState(QMediaRecorder::State))); }