Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.07.2013, 20:58   #1
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию Может быть я допустил ошибку при отправке файла?

Снова всем привет!(
Наверно я уже многих ******(надоел), но все же я тут с очередным вопросом...
Итак, у меня есть функция отправки файла в google speech api.
Код:
function HTTPPostFile(Const URL, FieldName, FileName: String; Const Data: TStream; Const ResultData: TStrings): Boolean;
const
  CRLF = #$0D + #$0A;
var
  HTTP: THTTPSend;
  Bound, Str: String;
begin
  Bound := IntToHex(Random(MaxInt), 8) + '_Synapse_boundary';
  HTTP := THTTPSend.Create;
  try
    Str := '--' + Bound + CRLF;
    Str := Str + 'content-disposition: form-data; name="' + FieldName + '";';
    Str := Str + ' filename="' + FileName + '"' + CRLF;
    Str := Str + 'Content-Type: audio/x-flac; rate=8000' + CRLF + CRLF;
    HTTP.Document.Write(Pointer(Str)^, Length(Str));
    HTTP.Document.CopyFrom(Data, 0);
    Str := CRLF + '--' + Bound + '--' + CRLF;
    HTTP.Document.Write(Pointer(Str)^, Length(Str));
    HTTP.MimeType := 'audio/x-flac; rate=8000, boundary=' + Bound;
    Result := HTTP.HTTPMethod('POST', URL);
    ResultData.LoadFromStream(HTTP.Document);
  finally
    HTTP.Free;
  end;
end;
При нажатии на кнопку я вызываю эту функцию, получаю ответ от google и вписываю этот ответ в memo

Код:
procedure TForm1.Button3Click(Sender: TObject);
var
sound : String;
Stream: TMemoryStream;
StrList: TStringList;
HZ: String;
begin
Stream := TMemoryStream.Create;
StrList := TStringList.Create;
sound := ExtractFilePath(ParamStr(0))+'sound.flac';
HTTPPostFile('https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU', sound, ExtractFilename('sound'), Stream, StrList);
Form1.Panel1.Caption := 'Success';
Form1.Memo1.Lines.Assign(StrList);
Stream.Free;
StrList.Free;
end;
Но какой бы я аудио-файл не отправлял, приходит ответ от гугла что голос не распознан, я думаю что ошибка в коде отправки файла...
Я скачивал программу для распознавания голоса с статьи http://habrahabr.ru/post/144535, записывал звук через нее, она определила что я сказал, потом тот же аудио-файл отправил через свою программу, и гугл не распознает..
Код функции брал с этой статьи http://habrahabr.ru/post/144535, и код вызова функции брал тоже оттуда, только немного поменял, вот код со статьи
Код:
HTTPPostFile('https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU', 'userfile', ExtractFilename(OutFileName), Stream, StrList);
и вот мой
Код:
HTTPPostFile('https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU', sound, ExtractFilename('sound'), Stream, StrList);
TUberwer вне форума
Старый 11.07.2013, 21:47   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...то, что вы с десяток клон-тем по одному и тому же вопросу создадите, популярности вам не добавит, как и желания форумчан вам помогать. К слову, чем не устроили мои DLL-ки? Бесплатные, все разжевано.

Сами хотите, так изучайте API, пользуйтесь сниффером.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не покидает чувство, что я допустил ошибку в алгоритме/коде (Python) nextdrift Python 2 08.03.2013 23:10
где я допустил ошибку? sudik Помощь студентам 0 06.11.2011 17:38
ошибка файла. часть данных может быть утеряна Enkoff Microsoft Office Excel 1 03.08.2011 12:20
Работа со строками. Написал программній код, но где-то допустил ошибку. NikitaNikita Помощь студентам 2 07.02.2011 16:32
При копировании файла ошибка:макрос не может быть найден Belokuraya Microsoft Office Excel 4 24.07.2009 16:04