摘要:本文出自官方論壇模塊通過封裝系統(tǒng)的錄音接口,能夠快速的為開發(fā)者提供一個完整的錄音功能。該模塊提供和版本,錄音方式及錄制的音頻格式也依賴于相關(guān)系統(tǒng)。
本文出自APICloud官方論壇
audioRecorder 模塊通過封裝系統(tǒng)的錄音接口,能夠快速的為開發(fā)者提供一個完整的錄音功能。
該模塊提供Android和iOS版本,錄音方式及錄制的音頻格式也依賴于相關(guān)系統(tǒng)。
需要注意的是:安卓跟ios所支持的格式是不一樣的,最好選擇aac格式,
如果不選擇acc格式你們就需要判斷此設(shè)備是ios還是安卓,(api.systemType使用這個可以獲取是安卓還是ios)
然后根據(jù)設(shè)備不同去配置對應(yīng)錄制音頻格式。
Android系統(tǒng)支持的錄制音頻格式為:amr、aac、3gp
iOS 系統(tǒng)支持的錄制音頻格式為:aac、wav
模塊文檔地址:https://docs.apicloud.com/Cli...
接口詳解:
startRecord接口:
一定需要詳細看下sampleRates跟format這倆個參數(shù)對應(yīng)配置,看自己需求去設(shè)置,不然配置錯誤有可能出現(xiàn)未知錯誤,或者報錯,一定看清楚format配置類型對應(yīng)的sampleRates取值范圍是否對應(yīng)了文檔要求;
var audioRecorder = api.require("audioRecorder");
var audioRecorder = api.require("audioRecorder");
audioRecorder.startRecord({
channel:2, //默認是2 選項有倆個 1 單聲道 2 立體聲道,如果對于聲道沒有要求可以直接實際代碼可以不寫; sampleRates:16000, // 設(shè)置采樣率 aac 支持范圍(8000 - 96000) amr 支持 8000、16000 pcm 只支持 16000 savePath:"fs://test.amr", // 這塊是配置錄音存儲的位置 format:"amr" //設(shè)置音頻格式 aac (支持Android 4.1+ & iOS) pcm (支持Android & iOS) amr (僅支持Android) 3gp (僅支持Android) caf (僅支持 iOS) wav (僅支持 iOS) acm (僅支持 iOS)
}, function(ret, err){
console.log(JSON.stringify(ret));
});
復(fù)制代碼
getVolume接口:
獲取錄音的時時聲音大小,個人感覺如果配置了監(jiān)聽audioRecorder.addEventListener({name: "volume" 事件,這個接口可以不需要調(diào)用
var audioRecorder = api.require("audioRecorder");
audioRecorder.getVolume(function(ret){
console.log(JSON.stringify(ret));
});
復(fù)制代碼
addEventListener接口:
此接口是監(jiān)聽錄音時獲取時時聲音大小,這樣可以拿來作為錄音狀態(tài)喇叭大小的,此處樓主雖然獲取了,但是沒有去顯示這個功能;
樓主在監(jiān)聽這個接口調(diào)用getAttr接口獲取音頻時長,這樣就能配置錄音的時間進度00:00:00
//監(jiān)聽聲音
audioRecorder.addEventListener({ name: "volume" }, function(ret) { console.warn(JSON.stringify(ret)); window.ListVue.volume = ret.volume; // 獲取錄音時間進度 audioRecorder.getAttr({ path: window.ListVue.recording }, function(ret) { window.ListVue.Time = ret.duration; }); });
復(fù)制代碼
注意點2: 在關(guān)閉窗口的時候,需要調(diào)用停止錄音的接口,如果不調(diào)用會出現(xiàn)app閃退情況:
// 停止錄音
audioRecorder.stopRecord(function(ret) { console.warn(JSON.stringify(ret)); }); //重置按鈕關(guān)閉狀態(tài) this.Show = false; // 延遲關(guān)閉錄音界面返回錄音列表 setTimeout(function() { api.closeWin(); }, 300);
復(fù)制代碼
Demo整體結(jié)構(gòu)說明截圖:
核心代碼截圖:
Demo最終效果圖:
無錄音文件時顯示:
有錄音文件時顯示:
錄音開始界面:
錄音暫停界面:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/104910.html
摘要:返回的字串如下我要聽三國演義這本書正在努力搜索中,請稍等我要聽三國演義這本書三國演義通過解析這段,可以得到類型,用于查詢書名,是表示行為是播放。 基于javascript用olamisdk實現(xiàn)web端語音識別語義理解(speex壓縮) 轉(zhuǎn)載請注明原文地址:傳送 olami 開放平臺 sdk 除了支持語音識別功能外,更強大的在于支持語義理解功能,在 Android 平臺和 iOS 平臺都...
摘要:返回的字串如下我要聽三國演義這本書正在努力搜索中,請稍等我要聽三國演義這本書三國演義通過解析這段,可以得到類型,用于查詢書名,是表示行為是播放。 基于javascript用olamisdk實現(xiàn)web端語音識別語義理解(speex壓縮) 轉(zhuǎn)載請注明原文地址:傳送 olami 開放平臺 sdk 除了支持語音識別功能外,更強大的在于支持語義理解功能,在 Android 平臺和 iOS 平臺都...
閱讀 2904·2021-11-11 16:55
閱讀 952·2021-09-28 09:36
閱讀 3803·2021-09-22 15:22
閱讀 2232·2021-09-06 15:12
閱讀 1766·2021-08-19 10:55
閱讀 2894·2019-08-30 12:52
閱讀 501·2019-08-29 14:03
閱讀 1209·2019-08-29 12:27