摘要:中不能直接通過播放,需要用戶在事件或者事件中執行才能播放。回調中音樂不能正常播放。用戶點擊按鈕,等服務器返回數據后再播放相應的成功或失敗的音樂,測試在中不能正常播放。測試能夠正常播放。
ios中audio不能直接通過audio.play()播放,需要用戶在click事件或者touch事件中執行audio.play()才能播放。
ajax回調中audio.play()音樂不能正常播放。下面記錄一下ios中ajax回調中播放音樂的問題解決過程用戶點擊按鈕,等服務器返回數據后再播放相應的成功或失敗的音樂,測試在ios中不能正常播放。猜測ios中的audio不能再ajax回調函數中play()
解決方案一 --降低音量
在用戶點擊時間后將audio的音量設置為0,等success后將音量設置為1; volume可以控制audio的音量大小,取值范圍為 0~1
audio.volume=number
發現在chrome的手機模式可以將音樂靜音,ios中竟然不能控制音量,好吧這個被ios屏蔽了。放棄了。。。
解決方案二 --播放后立即暫停
用戶點擊按鈕后立即播放音樂,等ajax返回數據后再繼續播放。測試能夠正常播放。部分代碼如下:
// 用戶click事件 if (this.isIOS()) { // ios多帶帶處理 安卓不需要 this.$refs.audio.play() this.$refs.audio.pause() } // ajax成功后的事件 this.$refs.audio.pause() this.$refs.audio.currentTime = 0 this.$refs.audio.play()
由于是vue項目,所以代碼中有this.$refs小伙伴們別介意;
總結在ios中,如果需要播放音樂或者視頻,需要用戶手動觸發事件在調用.play()才能播放(autoplay或者直接.play()是不能直接觸發的);
如果需要在ajax回調函數中播放音樂,需要在用戶觸發事件后播放音樂立即暫停然后才能在回調函數中.play(),不然ios中是播放不成功的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/89943.html
摘要:背景介紹在一個頁面中當用戶提交表單到后臺后臺返回的結果成功的話開始自動播放背景音樂出現的問題在安卓手機上正常中沒有反應后來網上一番搜索后了解到時因為不允許自動播放音樂除非用戶做出了交互行為解決方案如果是在頁面剛加載就需要自動播放音頻的話還是 背景介紹:在一個h5頁面中,當用戶提交表單到后臺,后臺返回的結果成功的話,開始自動播放背景音樂 出現的問題:在安卓手機上正常,iOS中沒有反...
摘要:背景介紹在一個頁面中當用戶提交表單到后臺后臺返回的結果成功的話開始自動播放背景音樂出現的問題在安卓手機上正常中沒有反應后來網上一番搜索后了解到時因為不允許自動播放音樂除非用戶做出了交互行為解決方案如果是在頁面剛加載就需要自動播放音頻的話還是 背景介紹:在一個h5頁面中,當用戶提交表單到后臺,后臺返回的結果成功的話,開始自動播放背景音樂 出現的問題:在安卓手機上正常,iOS中沒有反...
閱讀 970·2022-06-21 15:13
閱讀 1855·2021-10-20 13:48
閱讀 1038·2021-09-22 15:47
閱讀 1373·2019-08-30 15:55
閱讀 3128·2019-08-30 15:53
閱讀 526·2019-08-29 12:33
閱讀 721·2019-08-28 18:15
閱讀 3467·2019-08-26 13:58