摘要:目前公司的項目是基于,領(lǐng)導要加類似微信的語音聊天功能,看了看七牛的文檔跟源碼,功能有太多我用不上的。先前上傳圖片用的是七牛提供的上傳方法,那如果把錄音轉(zhuǎn)成,也就可以上傳到七牛了。錄音的組件我最終用的,錄音出來的格式是,跟都支持播放。
目前公司的webapp項目是基于meteor+react+cordova,領(lǐng)導要加類似微信的語音聊天功能,看了看七牛的文檔跟源碼,功能有太多我用不上的。先前上傳圖片用的是七牛提供的base64上傳方法,那如果把錄音轉(zhuǎn)成base64,也就可以上傳到七牛了。
錄音的組件我最終用的cordova-plugin-media-with-compression,錄音出來的格式是.m4a,iOS跟Android都支持播放。
cordova-plugin-media-with-compression與cordova-plugin-media在Android端有區(qū)別。var filename = "xxxx.m4a"; mediaRec = new Media(filename);前者錄完音是在原音頻基礎(chǔ)上增量錄,而后者則Android跟iOS一樣都是每次重新錄音,這里我采用了每次錄音var filename = Date.now() + ".m4a"的方法解決這個問題
//轉(zhuǎn)base64的代碼 getFileContentAsBase64(path,callback){ window.resolveLocalFileSystemURL(path, gotFile, fail); function fail(e) { alert("Cannot found requested file"); } function gotFile(fileEntry) { fileEntry.file((file) => { var reader = new FileReader(); reader.onloadend = function(e) { var content = this.result; callback(content); }; // The most important point, use the readAsDatURL Method from the file plugin reader.readAsDataURL(file); }); } }
其中path參數(shù)需要做下判斷,iOS與Android的路徑不同,這里我使用了cordova-plugin-file插件,代碼如下:
var path; var filename = Date.now() + ".m4a"; if(device.platform == "iOS") { path = cordova.file.tempDirectory + filename; } else if(device.platform == "Android") { path = cordova.file.externalRootDirectory + filename; }
然后錄音成功后調(diào)用getFileContentAsBase64即可
var mediaRec = new Media(filename, function() { getFileContentAsBase64(path, function(base64) { var audio = base64.split(",")[1]; //七牛要求填寫base64后的字符串 var key = "上傳到七牛的名字"; var url = `http://up-z1.qiniu.com/putb64/-1/key/${btoa(key)}`; //華北是up-z1,華南可能是up或upload,我忘記了 //剩下的就參考文章開頭給的七牛base64上傳方法鏈接 } })
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/80942.html
摘要:如果你有疑問,或許可以參考創(chuàng)建密鑰使用谷歌將語音轉(zhuǎn)換為文字。將其取出,得到字典。 在之前發(fā)布的使用谷歌Cloud Speech API將語音轉(zhuǎn)換為文字一文中,我們實現(xiàn)了在控制臺使用curl發(fā)送post請求,得到語音轉(zhuǎn)文字的結(jié)果;而在Python中使用谷歌Cloud Speech API將語音轉(zhuǎn)換為文字一文中,我們實現(xiàn)了安裝Cloud Speech API客戶端庫,通過調(diào)用庫函數(shù)得到語音...
摘要:我們的功能需要用到的接口事件讀取完成,無論成功與否,還有方法將文件讀取為。檢測是否為圖片類型圖片的編碼這里設(shè)置獲取的數(shù)據(jù)獲取后臺的給的將文件讀取為上傳事件當?shù)臅r候說明我們成功的把圖片傳上七牛了,并且七牛給我們返回了一個字符串。 最近在做的一個聊天消息的功能。有個圖片上傳的功能,可以通過按鈕上傳也可以通過Ctrl+V上傳。按鈕上傳的我們可以通過七牛的API就可以做了,我們現(xiàn)在來說說Ctr...
摘要:,具體實現(xiàn)源碼上傳圖片獲取地址獲取創(chuàng)建對象,用于和服務(wù)器交換數(shù)據(jù)存儲函數(shù),每當改變,便會調(diào)用該函數(shù)上傳成功最終終于實現(xiàn)了七牛云上傳的問題,如果還有問題的可以下方留言 最近公司內(nèi)部項目遇到上傳base64位圖片到七牛云,并且自定義key存儲,在解決過程遇到很多問題,但是最終經(jīng)過請教,都得到結(jié)果,故在這里總結(jié)一下... 官方文檔 1,布局代碼如下: ...
閱讀 2006·2021-11-24 10:45
閱讀 1861·2021-10-09 09:43
閱讀 1303·2021-09-22 15:38
閱讀 1230·2021-08-18 10:19
閱讀 2849·2019-08-30 15:55
閱讀 3069·2019-08-30 12:45
閱讀 2975·2019-08-30 11:25
閱讀 365·2019-08-29 11:30