Mercurial > hg > easaier-soundaccess
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