這篇文章主要介紹如何解決ios audio無法播放的問題,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),10多年企業(yè)及個人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都上千多家客戶提供網(wǎng)頁設(shè)計制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營銷型網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,同時也為不同行業(yè)的客戶提供成都做網(wǎng)站、成都網(wǎng)站制作的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)公司。
ios中audio不能直接通過audio.play()播放,需要用戶在click事件或者touch事件中執(zhí)行audio.play()才能播放。
ajax回調(diào)中audio.play()音樂不能正常播放。
用戶點(diǎn)擊按鈕,等服務(wù)器返回數(shù)據(jù)后再播放相應(yīng)的成功或失敗的音樂,測試在ios中不能正常播放。猜測ios中的audio不能再ajax回調(diào)函數(shù)中play()
下面記錄一下ios中ajax回調(diào)中播放音樂的問題解決過程
解決方案一 --降低音量
在用戶點(diǎn)擊時間后將audio的音量設(shè)置為0,等success后將音量設(shè)置為1; volume可以控制audio的音量大小,取值范圍為 0~1
audio.volume=number
發(fā)現(xiàn)在chrome的手機(jī)模式可以將音樂靜音,ios中竟然不能控制音量,好吧這個被ios屏蔽了。放棄了
解決方案二 --播放后立即暫停
用戶點(diǎn)擊按鈕后立即播放音樂,等ajax返回數(shù)據(jù)后再繼續(xù)播放。測試能夠正常播放。部分代碼如下:
// 用戶click事件 if (this.isIOS()) { // ios單獨(dú)處理 安卓不需要 this.$refs.audio.play() this.$refs.audio.pause() } // ajax成功后的事件 this.$refs.audio.pause() this.$refs.audio.currentTime = 0 this.$refs.audio.play()
由于是vue項(xiàng)目,所以代碼中有this.$refs小伙伴們別介意;
總結(jié)
在ios中,如果需要播放音樂或者視頻,需要用戶手動觸發(fā)事件在調(diào)用.play()才能播放(autoplay或者直接.play()是不能直接觸發(fā)的);
如果需要在ajax回調(diào)函數(shù)中播放音樂,需要在用戶觸發(fā)事件后播放音樂立即暫停然后才能在回調(diào)函數(shù)中.play(),不然ios中是播放不成功的。
以上是“如何解決ios audio無法播放的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!