這篇文章主要介紹了小程序ios音頻播放沒(méi)聲音怎么辦,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
為同德等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及同德網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、同德網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
小程序提供了錄音和播放音頻的能力,從基礎(chǔ)庫(kù) 1.6.0 開(kāi)始支持了wx.getRecorderManager(),錄音都采用wx.getRecorderManager()
提供的api,播放音頻文件采用wx.createInnerAudioContext()
提供的api
導(dǎo)入錄音和播放音頻功能
const recorderManager = wx.getRecorderManager(); // 錄音功能 const innerAudioContext = wx.createInnerAudioContext(); // 播放音頻
注冊(cè)錄音結(jié)束事件
// 錄音結(jié)束 recorderManager.onStop((res) => { console.log('recorder stop'); const { tempFilePath } = res; // 錄音的本地臨時(shí)文件 // ... 播放音頻 innerAudioContext.src = tempFilePath ; innerAudioContext.play(); });
開(kāi)始錄音
const options = { duration: 10000, sampleRate: 44100, numberOfChannels: 1, encodeBitRate: 192000, format: 'aac', frameSize: 50 } recorderManager.start(options);
options
是一些音頻的配置,具體的配置可以查看 官方文檔
這樣就創(chuàng)建了一個(gè)簡(jiǎn)單的音頻錄音和播放功能
ios播放音頻文件沒(méi)有聲音
在開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)在開(kāi)發(fā)者工具和安卓測(cè)試機(jī)上都能正常錄音和播放錄音文件,但是在ios手機(jī)上發(fā)現(xiàn)音頻文件播放沒(méi)有聲音,百度查看沒(méi)有發(fā)現(xiàn)有遇到類(lèi)似的問(wèn)題,只能自己各種測(cè)試,最后發(fā)現(xiàn)ios手機(jī)是靜音模式?。?!果然取消靜音模式就能夠正常播放了。
其實(shí)仔細(xì)查看api文檔, innerAudioContext 對(duì)象的屬性列表中發(fā)現(xiàn)一個(gè)屬性 obeyMuteSwitch
,這個(gè)屬性可以在靜音模式下播放音頻文件,并且有聲音?。。?/p>
是否遵循系統(tǒng)靜音開(kāi)關(guān),當(dāng)此參數(shù)為 false 時(shí),即使用戶(hù)打開(kāi)了靜音開(kāi)關(guān),也能繼續(xù)發(fā)出聲音,默認(rèn)值 true
可以通過(guò)設(shè)置obeyMuteSwitch為false
開(kāi)啟在靜音模式下播放音頻!解決了ios靜音模式下播放音頻文件沒(méi)有聲音的問(wèn)題!
innerAudioContext.obeyMuteSwitch = false;
在開(kāi)發(fā)小程序的過(guò)程中遇到問(wèn)題還是應(yīng)該多查看api文檔,才能更加快速的解決遇到的bug!
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“小程序ios音頻播放沒(méi)聲音怎么辦”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!