2017-04-16 92 views
0

當用戶回答問題時,我的網站正在播放聲音。但我注意到,即使我將其置於靜音模式,但在我的平板電腦(iPad)和移動設備(iPhone)上播放聲音。而且我不希望手機/平板電腦在用戶將其設備設置爲靜音模式(鈴聲)時播放聲音。那麼,我可以檢測設備是否靜音/靜音,然後不播放任何聲音?我在Safari和Chrome上進行了測試,無論鈴聲狀態如何,它都會播放聲音。如果移動設備被靜音,Javascript可以檢測到嗎?

編輯:如果不可能讀取這些信息,那麼我的問題是如果有一種方法可以播放尊重用戶靜音偏好的聲音嗎?我使用的是jQuery的$("#correctsound").trigger('play'),顯然這並不尊重這些設置。我們有不同的方式來播放將這些設置考慮在內的聲音嗎?

+0

可能重複的[Javascript:你能否讀取系統卷?](http://stackoverflow.com/questions/5368596/javascript-can-you-read-the-systems-volume) –

回答

1

對您的問題的簡單回答是。網頁無法訪問有關客戶端的那種信息。這裏更多的信息:Javascript: Can you read the systems volume?此外,需要注意的是內部監督辦公室對鈴聲和媒體不同的音量設置是很重要的,根據Macworld

要掌握音量調節的關鍵是瞭解大多數的 上的聲音你設備分爲兩類。 通用 音頻包括音樂和其他媒體以及iPhone上的語音音量和所有設備上的FaceTime。 「鈴聲和提醒」 類別不僅包括iPhone鈴聲,還包括:FaceTime 鈴聲;時鐘應用鬧鐘;通知和個人應用程序警報;鍵盤點擊; 鍵盤點擊;和其他應用程序的聲音,如whoosh的 發送郵件。

換句話說,如果用戶想要靜音的音頻從網頁來了,就應該靜音媒體量。 林格音量與網頁無關,因此將手機置於「靜音」模式只會影響鈴聲音量。如果您需要幫助來更改設備的音量設置,請在Apple Stack Exchange上查看How can I lower the media volume on my iPhone when no media are playing?

+0

感謝您的澄清Ringers/Alerts和General Audio之間的區別。我想我會繼續播放這些聲音,正常情況下,如果用戶不想讓網頁發聲,則需要降低其通用音量。我想我們不能要求Javascript在Ringers/Alerts類別而不是通用音頻播放聲音? –

+1

不幸的是,只有本機iOS應用程序具有該級別的控制權。 JavaScript無法控制音頻「分類」。如果你對[你在這裏](https://developer.apple.com/ios/human-interface-guidelines/interaction/audio/)和[here](https://)感興趣,可以閱讀關於蘋果音頻指南的更多信息。 developer.apple.com/reference/audiotoolbox/system_sound_services) –