Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Распознавание речи Google / 5 сообщений из 5, страница 1 из 1
23.04.2012, 13:02:39
    #37766097
nemozar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распознавание речи Google
Здравствуйте. У гугла есть хорошый API, позволяющий из дорожки звука определять слова и возвращает их в текстовом виде. Перевожу свой проект с ПХП на яву... вот возник вопрос по передаче файла постом.

До этого делал на ПХП с использованием КУРЛ. Все работало. Сейчас встал вопрос как передать файл (flac) через URLConnection постом...

Вот код:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
URL url = new URL("https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU");
URLConnection connection = url.openConnection();
File comFile = new File(file);

byte[] fileBArray = new byte[(int)comFile.length()];
FileInputStream fis = new FileInputStream(comFile);
fis.read(fileBArray);
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "audio/x-flac; rate=16000");
connection.setRequestProperty("Content-Length", Integer.toString(fileBArray.length));

OutputStreamWriter out = new OutputStreamWriter(
                        connection.getOutputStream());
out.write("myfile=");
for (int i = 0; i < fileBArray.length; i++) {
out.write(fileBArray[i]);
System.out.println(fileBArray[i]);
}



Но в ответ не распознает. Этот же файл в ПХП нормально работает.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
$file_to_upload = array('myfile'=>'@/home/mp3/say_comand2.flac');
print_r($file_to_upload);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU");
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: audio/x-flac; rate=16000"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);



Подскажите как правильно передать постом его? насколько понимаю вся проблема в этом...
...
Рейтинг: 0 / 0
23.04.2012, 13:16:28
    #37766113
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распознавание речи Google
Apache HTTPClient
На голом JSE слишком много гемора с полноценным HTTP. Хотя примеры можно нагуглить.
Тут же multipart запрос нужен. А вы бинарный файл в текстовый параметр пытаетесь поместить.
Файл можно целиком в память не загружать. Лучше перекачать в цикле.
...
Рейтинг: 0 / 0
23.04.2012, 13:26:21
    #37766138
nemozar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распознавание речи Google
BlazkowiczApache HTTPClient
На голом JSE слишком много гемора с полноценным HTTP. Хотя примеры можно нагуглить.
Тут же multipart запрос нужен. А вы бинарный файл в текстовый параметр пытаетесь поместить.
Файл можно целиком в память не загружать. Лучше перекачать в цикле.

Спасибо за ответ.

Apache HTTPClient насколько понимаю для этого должен быть поднят апатч?? По поводу бинарного файла я и сомневался, подскажите как можно его в правильном формате передать. Кучу примеров перепробовал (похоже не знаю просто что искать).
...
Рейтинг: 0 / 0
23.04.2012, 13:37:55
    #37766175
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распознавание речи Google
nemozarApache HTTPClient насколько понимаю для этого должен быть поднят апатч??
Apache software foundation это не тоже самое что и Apache HTTP Server.
HTTPClient это просто библиотека. Скачал и подключил к проекту.

nemozarПо поводу бинарного файла я и сомневался, подскажите как можно его в правильном формате передать. Кучу примеров перепробовал (похоже не знаю просто что искать).
http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests
Смотрите пример - Uploading files.
...
Рейтинг: 0 / 0
24.04.2012, 00:13:59
    #37767251
nemozar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Распознавание речи Google
Blazkowicz http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests
Смотрите пример - Uploading files.

Спасибо, все получилось.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Распознавание речи Google / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]