2012-04-18 30 views
5

問題: html5オーディオタグでミュートされたプロパティを切り替える際に問題が発生しています。iPod Touch(5.0.1)のSafariでHTMLAudioElementが適切にミュートされない

プラットフォーム:だけのiPod touch(サファリ)[のiOS 5.0.1]に。 Chromeで正常に動作します。

// This code resides in my click binding. 
var audios = document.getElementsByTagName('audio')[0]; 
console.log(audios.muted); // returns false by default 
if(audios.muted == true){ 
    audios.muted = false; 
} 
else{ 
    audios.muted = true; 
} 

chromeでは、console.logはtrue/falseを切り替えますが、iPodでは常にfalseのままです。 docsによると

+0

私はドキュメントを見て、デスクトップ上でボリュームプロパティを設定できますが、モバイルでは「iOSデバイスでは、オーディオレベルは常にユーザーの物理的な制御下にあります。ボリュームプロパティは設定できませんボリュームプロパティを読み取ると常に1が返されます "#:。オーディオエレメントの音量をミュートしたり調整したりできないのは、私にとって意味のないことです。 – Fostah

+0

オーディオAPIを使用して問題を回避することができます。私は完全な能力と限界についての専門家はいませんが、シンプルなトーンを演奏したコードを一緒にまとめることができました。その後、JSを使って音量を変更したり、具体的に "ゲイン"を変更したりできました。トーンを作成して再生を開始するには、ユーザーとのやりとりが必要でしたが、その後、サウンドレベルを完全に制御して、特定のイベントに対して非常に簡単なオーディオアラートとして使用できました。 –

答えて

0

のiOSデバイスでは、オーディオレベルは、ユーザーの物理的な管理下に常にあります。ボリュームプロパティはJavaScriptでは設定できません。ボリュームプロパティを読み取ると、常に1が返されます。

ハードウェアスイッチを使用する必要があります。 iPhoneではボリュームスイッチがSafarisボリュームに影響を与えないように見えます(サウンドが再生されていない限り、デフォルトでは呼び出し音量に、Safarisボリュームは調整できます)。一方、iPodではボリュームスイッチが機能します。

うまくいけば、これは他の誰かを助けてくれるでしょう。

+0

ちょうどこの同じ問題にぶつかります。誰かがオーディオを一時停止または停止する方法や何かを提案する人はいますか? – mattelliottIT

+1

この問題を解決するには、モバイルデバイスのミュートボタンをクリックして再生/一時停止を切り替えます。わかった、私たちは嗅ぐはずではないが、時にはそれが唯一の解決策である。 F ** king iOS ... haha – mattelliottIT

関連する問題