2011-06-12 14 views
1

私はhtml5オーディオ要素のgoogle translateからオーディオファイルを再生しようとしています。私のコードは次の通りです:urlからmp3をダウンロード、ph

<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> 

通常、「hello」と言う声が再生されます。これは私のサファリですが、私はそれをしたいgoogleのクロムではありません。

サウンドを「プリロード」して(別のタブにURLをロードして)、このコードをページ上でもう一度実行すると、動作します。おそらくオーディオがいくつかのキャッシュにロードされるからです。 (私はあまりそれについてはわかりません...)

サウンドが再生される前に、オーディオがロードされているかどうかを確認して、ブラウザがそれを待つようにしてください。または、ファイルをサーバーにダウンロードして、新しいファイルで自分のオーディオを参照するソリューションですか?

+0

お試しください** http://translate.google.com/translate_tts?tl = ja&hello ** and ** http://translate.google.com/translate_tts?tl%3Den%26q %3Dhello ** –

+0

私は違いが表示されません。どちらもブラウザに読み込まれます – Gustav

+0

クエリ** http://translate.google.com/translate_tts?tl=ja & q = hello **は、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 = en名前/ id3情報/ etcを制御できるローカルファイルを参照しようとしましたか? –