Я пытаюсь воспроизвести аудиофайл из Google Translate в html5 аудиоэлементе. Мой код для этого:
<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-адрес в другую вкладку), а затем снова запустил этот код на моей странице, он работает. Возможно, потому что аудио загружается в какой-то кеш. (Я не так много знаю об этом ...)
Можно ли в любом случае отследить, загружен ли звук, и заставить браузер дождаться этого, прежде чем пытаться воспроизвести звук? Или это решение загрузить файл на сервер, а затем сослаться на мое аудио по новому файлу?