2011-06-12 3 views
1

Я пытаюсь воспроизвести аудиофайл из google translate в аудио-элементе html5. Мой код для этого:скачать mp3 from url, php

<script> 
    $("#play_button").click(function(){ 
     $("#memory")[0].play(); 
    }); 
</script> 

<audio id="memory" preload="auto" style="display: none; "> 
    <source src="http://translate.google.com/translate_tts?tl=en&q=hello"> 
</audio> 

который обычно воспроизводит голос, говорящий «привет». Это работает в сафари, но не в google chrome, где я хочу.

Если я «предварительно загружаю» звук один раз (загружая URL-адрес на другой вкладке), а затем снова запускаю этот код на своей странице, он работает. Вероятно, потому что звук загружается в некоторый кеш. (Я не знаю, что об этом ...)

Есть ли способ отслеживать, загружен ли звук и заставить браузер ждать этого, прежде чем пытаться воспроизвести звук. Или это решение для загрузки файла на сервер, а затем ссылки на мой звук на новый файл?

+0

Попробуйте эти ... ** http: //translate.google.com/translate_tts? Tl = en & q = hello ** и ** http: //translate.google.com/translate_tts? Tl% 3Den% 26q % 3Dhello ** –

+0

Я не вижу разницы. Оба загружаются в браузере – Gustav

+0

Ваш запрос ** http: //translate.google.com/translate_tts? Tl = en & q = привет **, не работает на google chrome. Я пробую это прямо. –

ответ

0

Браузер интерпретирует html в том же порядке, что и в html-файле. Если вы переместите свой скриптовый тег под своим звуковым тегом, он должен загрузить аудио перед запуском скрипта.

+0

приятно, попробуй! – Gustav

+0

не работает к сожалению. Вот мое приложение, кстати, http://gustavstromberg.se/sandbox/html5/localstorage/ – Gustav

+0

@Gustav: Мне интересно, связано ли это вообще с этой ошибкой Chrome: http://www.google.com/support/forum/p/Chrome/thread? tid = 54ad1a9afc77645f & hl = ru Пробовал ли вы ссылаться на некоторые локальные файлы, где вы можете управлять информацией о имени/id3/и т. д.? –

Смежные вопросы