解決ios audio無(wú)法播放問(wèn)題
ios中audio不能直接通過(guò)audio.play()播放,需要用戶在click事件或者touch事件中執(zhí)行audio.play()才能播放。
ajax回調(diào)中audio.play()音樂(lè)不能正常播放。
用戶點(diǎn)擊按鈕,等服務(wù)器返回?cái)?shù)據(jù)后再播放相應(yīng)的成功或失敗的音樂(lè),測(cè)試在ios中不能正常播放。猜測(cè)ios中的audio不能再ajax回調(diào)函數(shù)中play()
下面記錄一下ios中ajax回調(diào)中播放音樂(lè)的問(wèn)題解決過(guò)程
解決方案一 --降低音量
在用戶點(diǎn)擊時(shí)間后將audio的音量設(shè)置為0,等success后將音量設(shè)置為1; volume可以控制audio的音量大小,取值范圍為 0~1
audio.volume=number
發(fā)現(xiàn)在chrome的手機(jī)模式可以將音樂(lè)靜音,ios中竟然不能控制音量,好吧這個(gè)被ios屏蔽了。放棄了
解決方案二 --播放后立即暫停
用戶點(diǎn)擊按鈕后立即播放音樂(lè),等ajax返回?cái)?shù)據(jù)后再繼續(xù)播放。測(cè)試能夠正常播放。部分代碼如下:
// 用戶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中,如果需要播放音樂(lè)或者視頻,需要用戶手動(dòng)觸發(fā)事件在調(diào)用.play()才能播放(autoplay或者直接.play()是不能直接觸發(fā)的);
如果需要在ajax回調(diào)函數(shù)中播放音樂(lè),需要在用戶觸發(fā)事件后播放音樂(lè)立即暫停然后才能在回調(diào)函數(shù)中.play(),不然ios中是播放不成功的。
相關(guān)文章
iOS項(xiàng)目的開發(fā)命名規(guī)范教程
為了團(tuán)隊(duì)各成員之間代碼的互通、可讀、易維護(hù)性,特制訂此開發(fā)規(guī)范。下面這篇文章主要給大家介紹了關(guān)于iOS項(xiàng)目的開發(fā)命名規(guī)范的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11iOS tableView多輸入框如何獲取數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于iOS tableView多輸入框如何獲取數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04iOS 輸入驗(yàn)證碼或密碼,自動(dòng)下一位的實(shí)例
下面小編就為大家分享一篇iOS 輸入驗(yàn)證碼或密碼,自動(dòng)下一位的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01iOS SwiftUI 顏色漸變填充效果的實(shí)現(xiàn)
這篇文章主要介紹了iOS SwiftUI 顏色漸變填充效果的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Flutter?模型動(dòng)態(tài)化賦值研究分析
這篇文章主要為大家介紹了Flutter?模型動(dòng)態(tài)化賦值研究分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Flutter?Widgets之標(biāo)簽類控件Chip詳解
這篇文章主要為大家介紹了Flutter?Widgets之標(biāo)簽類控件Chip詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10IOS LaunchScreen設(shè)置啟動(dòng)圖片與啟動(dòng)頁(yè)停留時(shí)間詳解
這篇文章主要介紹了IOS LaunchScreen設(shè)置啟動(dòng)圖片與啟動(dòng)頁(yè)停留時(shí)間詳解的相關(guān)資料,需要的朋友可以參考下2017-02-02