Аудиотег HTML5 не работает в Local IIS для Google translate_tts

Попытка использовать Google translate_tts в качестве запасного варианта, если браузер не поддерживает speechSynthesis для моего проекта.

Теперь у меня возникли проблемы с правильной работой звука html5. Целый день ломал голову и гуглил, почему у меня не работает. Затем я наткнулся на несколько статей/форумов, в которых говорилось, что это как-то связано с IIS. Поэтому я сделал тестовый код за пределами своего сайта, чтобы посмотреть, что произойдет, и был удивлен, что это сработало правильно! Но при использовании того же кода в моем исходном проекте, который работает в IIS, он не работает. И это работает при использовании IIS EXPRESS. Я проверяю типы MIME в IIS и mpeg и mp3.

введите здесь описание изображения

Даже выполнение этого в javascript не работает в IIS.

TextToSpeech.Audio = document.createElement("AUDIO");
TextToSpeech.Audio.src = url;
TextToSpeech.Audio.playbackRate = 1;
TextToSpeech.Audio.preload = 'auto';
TextToSpeech.Audio.volume = 1; // 0 to 1;
TextToSpeech.Audio.addEventListener('ended', function () {
        //i have some code here...  
});
TextToSpeech.Audio.addEventListener('error', function (error) { });
TextToSpeech.Audio.play();

Кто-нибудь сталкивался с этой проблемой и решил ее? Ваша помощь будет высоко оценена, спасибо!

ОБНОВЛЕНИЕ: После еще нескольких поисков в Google это может быть связано с тем, что я вызываю его из своего сайта, размещенного в IIS, который имеет правильное имя хоста, и мой IIS Express запускает сайт в localhost: PORT, который Google видит как noreferrer ?


person dmc    schedule 17.06.2015    source источник


Ответы (1)


Начиная с некоторого времени в последние несколько дней, Google, похоже, поместил «капчу» в эту службу и сделал так, что сервер больше не может вызывать ее. так что все это может быть спорным.

Раньше вы могли называть это ТОЛЬКО noreferrer, поэтому я не думаю, что noreferrer - это ваша проблема (или, возможно, это наименьшая из ваших проблем, возникших несколько дней назад). на самом деле одним из способов решения проблемы было добавление ref='noreferrer' к вашей ссылке.

и это может быть вашей первоначальной проблемой: используя wget, вам пришлось использовать параметр -U Mozilla, который делает wget похожим на браузер. если вы вызывали URL-адрес без этого, он ничего не возвращал. поэтому, если есть способ сделать ваш IIS похожим на браузер при вызове URL-адреса Google, это может сработать.

эта ссылка статья о преобразовании текста в речь по-прежнему работает в браузер, возможно, это поможет вам использовать его так, как вы хотите.

однако... начиная с 28 июля я получаю сообщение "503 сервис недоступен" после нескольких лет использования его с wget на моем Linux-сервере. может быть, потому что он измеряется, и я злоупотреблял им ... я надеюсь, что он вернется. Я использую его только около 100 раз в день.

они всегда говорили, что это «не публично», но это широко используется таким образом ...

так что это может быть связано, если вы все еще пытаетесь вызвать его из IIS, который, я думаю, ведет себя аналогично вызову с сервера Linux.

person Barry    schedule 31.07.2015