2017-07-15 6 views
1

私はユーザーがスタートボタンをクリックした後、setIntervalプログラムによって配列からオーディオをランダムに選択して再生するゲームがあります。どこでもサファリはうまく動作します。 私はまた、ResponsiveVoice APIを使用しようとしました。いずれも動作しません。ios safariでhtml5オーディオが機能しない

var audio = new Audio(); 
audio.src = 'blabla'; 

とユーザーがクリックを開始します:

setInterval(function() { 
    audio.play(); 
}, 2000); 

どのように私はこの問題を解決することができ これは、以下のコードのように見えますか?

答えて

1

あなたのオーディオファイルが(setInterval jsだけではなく)サファリのALLで動作しない場合は、おそらく問題のファイルタイプです。

現在、flacとoggのオーディオタイプはSafariではサポートされていませんが、他のブラウザにはあります。 Opusと同様に、別のオープンソースのファイルタイプです。

MP3とAACが最も広くサポートされているファイルタイプで、その後に.wav Webオーディオの使用もかなり広くサポートされています。

詳細については、caniuseを参照してください。

+0

まず、オーディオ形式はMP3です。次に、オーディオファイルはサファリで動作しますが、ボタンをクリックした直後に 'play()'を呼び出すときだけです。それは問題が 'setInterval'であるようです。 –

+0

おかげさまでありがとうございました。残念ながら、私が望むようにサファリでオーディオを再生することは不可能であることがわかりました。オーディオを再生するには、タッチまたはクリックのイベントが必須です。 –

+0

@LeonidGordunああ...それはバマーだ!ああ、私たちは生きていて、私が思うことを学ぶ(そして、うまくいけば、Safariも改善するだろう!) –

関連する問題