問題: 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によると
私はドキュメントを見て、デスクトップ上でボリュームプロパティを設定できますが、モバイルでは「iOSデバイスでは、オーディオレベルは常にユーザーの物理的な制御下にあります。ボリュームプロパティは設定できませんボリュームプロパティを読み取ると常に1が返されます "#:。オーディオエレメントの音量をミュートしたり調整したりできないのは、私にとって意味のないことです。 – Fostah
オーディオAPIを使用して問題を回避することができます。私は完全な能力と限界についての専門家はいませんが、シンプルなトーンを演奏したコードを一緒にまとめることができました。その後、JSを使って音量を変更したり、具体的に "ゲイン"を変更したりできました。トーンを作成して再生を開始するには、ユーザーとのやりとりが必要でしたが、その後、サウンドレベルを完全に制御して、特定のイベントに対して非常に簡単なオーディオアラートとして使用できました。 –