摘要:目前公司的項目是基于,領導要加類似微信的語音聊天功能,看了看七牛的文檔跟源碼,功能有太多我用不上的。先前上傳圖片用的是七牛提供的上傳方法,那如果把錄音轉成,也就可以上傳到七牛了。錄音的組件我最終用的,錄音出來的格式是,跟都支持播放。
目前公司的webapp項目是基于meteor+react+cordova,領導要加類似微信的語音聊天功能,看了看七牛的文檔跟源碼,功能有太多我用不上的。先前上傳圖片用的是七牛提供的base64上傳方法,那如果把錄音轉成base64,也就可以上傳到七牛了。
錄音的組件我最終用的cordova-plugin-media-with-compression,錄音出來的格式是.m4a,iOS跟Android都支持播放。
cordova-plugin-media-with-compression與cordova-plugin-media在Android端有區別。var filename = "xxxx.m4a"; mediaRec = new Media(filename);前者錄完音是在原音頻基礎上增量錄,而后者則Android跟iOS一樣都是每次重新錄音,這里我采用了每次錄音var filename = Date.now() + ".m4a"的方法解決這個問題
//轉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參數需要做下判斷,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; }
然后錄音成功后調用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上傳方法鏈接 } })
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/80942.html
摘要:如果你有疑問,或許可以參考創建密鑰使用谷歌將語音轉換為文字。將其取出,得到字典。 在之前發布的使用谷歌Cloud Speech API將語音轉換為文字一文中,我們實現了在控制臺使用curl發送post請求,得到語音轉文字的結果;而在Python中使用谷歌Cloud Speech API將語音轉換為文字一文中,我們實現了安裝Cloud Speech API客戶端庫,通過調用庫函數得到語音...
摘要:我們的功能需要用到的接口事件讀取完成,無論成功與否,還有方法將文件讀取為。檢測是否為圖片類型圖片的編碼這里設置獲取的數據獲取后臺的給的將文件讀取為上傳事件當的時候說明我們成功的把圖片傳上七牛了,并且七牛給我們返回了一個字符串。 最近在做的一個聊天消息的功能。有個圖片上傳的功能,可以通過按鈕上傳也可以通過Ctrl+V上傳。按鈕上傳的我們可以通過七牛的API就可以做了,我們現在來說說Ctr...
摘要:,具體實現源碼上傳圖片獲取地址獲取創建對象,用于和服務器交換數據存儲函數,每當改變,便會調用該函數上傳成功最終終于實現了七牛云上傳的問題,如果還有問題的可以下方留言 最近公司內部項目遇到上傳base64位圖片到七牛云,并且自定義key存儲,在解決過程遇到很多問題,但是最終經過請教,都得到結果,故在這里總結一下... 官方文檔 1,布局代碼如下: ...
閱讀 2003·2021-11-24 10:45
閱讀 1860·2021-10-09 09:43
閱讀 1298·2021-09-22 15:38
閱讀 1229·2021-08-18 10:19
閱讀 2844·2019-08-30 15:55
閱讀 3068·2019-08-30 12:45
閱讀 2971·2019-08-30 11:25
閱讀 362·2019-08-29 11:30