微信JSSDK錄音的一些bug

2022-02-21 19:35:35 字數 1203 閱讀 4964

當你呼叫startrecordstoprecord的時間間隔過於短時,stoprecord呼叫會失敗, 但是不會觸發success,failcomplete中的任何乙個handler, 導致ui卡住.

我的解決方法是:startrecord呼叫成功後500ms才可以呼叫stoprecord, 如果在500ms之內就執行了endrecord, 則判定為過早的endrecord, 執行failhandler, 隨後每隔300ms呼叫一次endrecord, 直至endrecord呼叫成功.

function delayedstoprecord(options) 

}, 300);

}self.startrecord = function (options) , 500);

}var fail = options.fail;

options.fail = function (res)

var s2 = options.success;

options.success = function () );

}wx.startrecord(options);

}self.endrecord = function (options)

if (!self.canstoprecord) ); // manually call failhandler.

options.abort = true;

delayedstoprecord(options);

} else

}function init()

其中stoprecord函式封裝了wx.stoprecordwx.uploadvoice,init是viewmodel的初始化函式.

的確感受到了寫作的好處, 在這裡這段**的過程中我還調整了**的位置讓**的邏輯更加清晰了. 繼續加油!

其他發現的一些bug, 暫時還沒解決.

使用JSSDK整合微信分享遇到的一些坑

需要後端支援 jssdk使用步驟 步驟一 繫結網域名稱 備註 登入後可在 開發者中心 檢視對應的介面許可權。這裡注意 js介面安全網域名稱一定要填寫正確,區分子網域名稱,且主網域名稱需要通過備案!沒有滿足這一步,無法繼續測試。步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援htt...

使用JSSDK整合微信分享遇到的一些坑

需要後端支援 jssdk使用步驟 步驟一 繫結網域名稱 備註 登入後可在 開發者中心 檢視對應的介面許可權。這裡注意 js介面安全網域名稱一定要填寫正確,區分子網域名稱,且主網域名稱需要通過備案!沒有滿足這一步,無法繼續測試。步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援htt...

微信一些概念

開放平台 訂閱號 主要偏於使用者傳達資訊 類似報雜誌 認證前後都是每天只可以 一條訊息 服務號 主要偏於服務互動 類似銀行,114,提供服務查詢 認證前後都是每個月可 4條訊息 企業號 主要用於公司內部通訊使用,需要先驗證身份才可以關注成功企業號 備註 如果想簡單的發訊息,達到宣傳的效果,建議可選擇...