Просмотр полной версии : Загрузка и воспроизведение перевода с google
AlexTrin
06.05.2013, 16:16
Написал код загрузки слова и воспроизведения его через переводчик гугл:
function tranSND (e:Event):void {
var req:URLRequest = new URLRequest( "http://translate.google.com/translate_tts?q=" + encodeURI(answerTxt.text) + "&tl=" + lngTRans + "&ie=utf-8" );
var snd:Sound = new Sound(req);
snd.play();
}
В компиляторе все работает на ура, только выкладываю SWF на хостинг звук не пашет, в чем может быть дело?
За ранее спасибо.
политика безопасности похоже, посмотри в сторону crossdomain
AlexTrin
06.05.2013, 17:24
Написал такой код:
function tranSND (e:Event):void {
Security.allowDomain("*");
//Security.allowDomain("www.mywebsite.com"); // и такой вариант делал
//Security.loadPolicyFile("www.mywebsite.com/crossdomain.xml");
var context:SoundLoaderContext = new SoundLoaderContext();
context.checkPolicyFile = true;
var req:URLRequest = new URLRequest( "http://translate.google.com/translate_tts?q=" + encodeURI(answerTxt.text) + "&tl=" + lngTRans + "&ie=utf-8" );
var snd:Sound = new Sound(req,context);
snd.play();
}
+ добавил crossdomain.xml в корень, с таким кодом:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/crossdomain-
policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" secure="false" to-ports="*"/>
</cross-domain-policy>
И что то не пашет звук, не выходит как то.
Добавлено через 20 минут
а файла crossdomain.xml на translate.google.com нету
caseyryan
06.05.2013, 19:44
а файла crossdomain.xml на translate.google.com нету
в этом и проблема.
Я тоже на это натыкался. Решил через сервер свой. Запрос шлется своему серверу, тот получает перевод и отдает клиенту
Вариант конечно не лучший, но мне было проще так сделать. Хотя наверное можно и через JS обойти
AlexTrin
06.05.2013, 19:59
Есть вариант с proxy (http://blog.onebyonedesign.com/actionscript/googles-text-to-speech-engine-in-flash/), но больно громоздко как то все.
caseyryan
06.05.2013, 22:35
я про это и говорил.
С JS вариант не катит?
AlexTrin
31.05.2013, 18:29
Вариант с проски на одном хостинге работает на ура, а на втором выдает вот такое сообщение на ответ post запроса:
403. That’s an error.
Your client does not have permission to get URL /translate_tts?q=dismiss&tl=en&ie=utf-8 from this server. (Client IP address: 185.23.16.176)
That’s all we know.
Как можно посодействовать разрешению использования гугла.
Добавлено через 1 час 5 минут
---
Решил сие проблему через рабочий сервер, на рабочем записал прокси, а на другом сервере принимаю с рабочего. Но хотелось бы все же и 2 сервер задействовать.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.