4

iOSではHTML5オーディオ要素の音量を変更(またはミュート)できないことを知っているので、これをテストする方法を探しています(音量に関連するUI要素を削除できるようにするため)。

読んだあと:

http://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html#//apple_ref/doc/uid/TP40009523-CH5-SW10

具体的には:

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

新しいAudioオブジェクトを作成し、音量を1以外に変更してから、音量をテストできると考えました。すなわち:

var isIOS = false; 
var test = new Audio(); 
test.volume = 0.5; 
if (test.volume === 1) { 
    isIOS = true; 
} 

誰かがこれで起こりうる問題を知っているか、および/またはより良い解決策を持っているかどうか疑問に思っていました。誤検知の可能性はありますか?

さらに、ボリュームの変更を許可しないが、この方法でそれを実装しない他のデバイスを知っている人はいますか?

乾杯。

4

1 に答える 1

2

さて、私はこれを少数のデバイスとエミュレーターでテストしましたが、十分に安定しているようです。私が見ることができる唯一の危険は、そのような音量変更を許可しないが、他の方法でその制限を実装する他のデバイスが(現在または将来)存在することです。誰かがこれに出くわした場合、私に知らせてくれるといいですね。乾杯。

編集:記録のために、今これを使用しています:http: //mobiledetect.net/そしてすべてのモバイルデバイスのボリュームUI要素をオフにするだけです。より多くのデバイスがオーディオを制限しているようで、物理的なボタンを使用して音量を簡単に変更できることと、画面スペースが制限されていることを考えると、すべてのモバイルデバイスの音量UI要素をオフにするのが最善のようです。

于 2013-01-09T18:46:47.583 に答える