diff sv/main/EasaierSessionManager.cpp @ 262:3f41cb822166

first code for the speech recognition
author benoitrigolleau
date Fri, 20 Jun 2008 12:33:08 +0000
parents ff8187498612
children 63a485275ed6
line wrap: on
line diff
--- a/sv/main/EasaierSessionManager.cpp	Fri Jun 20 12:09:57 2008 +0000
+++ b/sv/main/EasaierSessionManager.cpp	Fri Jun 20 12:33:08 2008 +0000
@@ -39,6 +39,9 @@
 #include "base/PropertyContainer.h"
 #include "data/fileio/AudioFileReaderFactory.h"
 
+#include "widgets/SpeechFileHandler.h"
+#include <QMessageBox>
+
 EasaierSessionManager::EasaierSessionManager(HttpClient* httpClient) : QObject(),
 	m_fileName(""),
 	m_httpClient(httpClient),
@@ -368,6 +371,21 @@
 			relMediaWidget->addRelatedMedia(filename, m_relMediaList);
 			break;
 		}
+		case LoadedFile::VOCAL_QUERY :
+		{
+			QFile file;
+			QXmlInputSource *inputSource;
+			QXmlSimpleReader reader; 
+			SpeechFileHandler handler; 
+			file.setFileName(filename); 
+			inputSource= new QXmlInputSource(&file); 
+			reader.setContentHandler(&handler); 
+			read=reader.parse(inputSource); 
+			if (read) {
+				QString truc = handler.getResult();
+			}
+
+		}
 		default: break;
 	}
 
@@ -583,3 +601,52 @@
 	QApplication::setOverrideCursor( Qt::WaitCursor );
 	loadFile(*payload, filename, LoadedFile::QUERY_RESULTS, postFilePath);
 }
+
+
+void EasaierSessionManager::speechRecognition(const QString& themeName)
+{
+	
+	QString postFilePath = "";
+
+	//for the post
+	QString boundary="7d44e178b0434";
+	QString endline="\r\n";
+	QString start_delim="--"+boundary+endline;
+	QString cont_disp_str="Content-Disposition: form-data;";
+
+	QByteArray *payload = new QByteArray();
+	QDataStream data_stream(payload, QFile::WriteOnly | QFile::Unbuffered);
+	/////////
+
+
+	QString param = start_delim + cont_disp_str + "name=" + "\"theme\"" + endline+endline+themeName+endline;
+	data_stream.writeRawData(param.toStdString().c_str(),param.toStdString().length());
+
+	// We are here dealing with a filePath
+	postFilePath = "c:/test.wav";
+	if(postFilePath!=""){
+		QString only_filename = postFilePath.section( '/', -1 );
+		QString param = start_delim + cont_disp_str + "name=" + "\"tutu\""+"; filename="+"\""+only_filename+"\""+endline+"Content-Type: application/octet-stream"+endline+endline;
+		data_stream.writeRawData(param.toStdString().c_str(),param.toStdString().length());
+					
+		QFile file(postFilePath);
+		if (file.open( QFile::ReadOnly )) {
+			while (!file.atEnd()) {
+				QByteArray line = file.readLine();
+				data_stream.writeRawData(line.data(),line.length());
+			}
+			file.close();
+		}
+	}
+		
+	data_stream.writeRawData(param.toStdString().c_str(),param.toStdString().length());
+
+	QString stop_delim=endline+"--"+boundary+"--"+endline;
+	data_stream.writeRawData(stop_delim.toStdString().c_str(),stop_delim.toStdString().length());
+
+	QString filename = "/easaier/servlet/"+themeName;
+	
+	QApplication::setOverrideCursor( Qt::WaitCursor );
+	loadFile(*payload, filename, LoadedFile::VOCAL_QUERY, postFilePath);
+
+}
\ No newline at end of file