成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

cordova錄音轉(zhuǎn)base64上傳七牛

cfanr / 3317人閱讀

摘要:目前公司的項目是基于,領(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-compressioncordova-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

相關(guān)文章

  • 淺析前端上傳

    摘要:項目上也用到很多上傳文件的地方,七牛云,阿里云,訊飛上傳都接觸過,所以在這里做一個記錄,總結(jié)一下前端上傳的幾種方式。類型的文件名七牛云上傳淺析是一個基于七牛開發(fā)的前端。 showImg(https://segmentfault.com/img/bVbvibu?w=1920&h=1080); 圖片,音頻,視頻等等這幾種常見的資源類型,如果需要從前端上傳到服務(wù)端,有幾種方式呢?不妨回顧一下...

    terro 評論0 收藏0
  • 在Python中使用谷歌Cloud Speech API將語音轉(zhuǎn)換為文字(另一種方案)

    摘要:如果你有疑問,或許可以參考創(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ù)得到語音...

    ethernet 評論0 收藏0
  • 業(yè)務(wù)開發(fā)情境之:文本框的base64編碼圖片粘貼直接上傳七牛

    摘要:我們的功能需要用到的接口事件讀取完成,無論成功與否,還有方法將文件讀取為。檢測是否為圖片類型圖片的編碼這里設(shè)置獲取的數(shù)據(jù)獲取后臺的給的將文件讀取為上傳事件當?shù)臅r候說明我們成功的把圖片傳上七牛了,并且七牛給我們返回了一個字符串。 最近在做的一個聊天消息的功能。有個圖片上傳的功能,可以通過按鈕上傳也可以通過Ctrl+V上傳。按鈕上傳的我們可以通過七牛的API就可以做了,我們現(xiàn)在來說說Ctr...

    xiao7cn 評論0 收藏0
  • 七牛上傳截圖后的base64位遇到的問題總結(jié)

    摘要:,具體實現(xiàn)源碼上傳圖片獲取地址獲取創(chuàng)建對象,用于和服務(wù)器交換數(shù)據(jù)存儲函數(shù),每當改變,便會調(diào)用該函數(shù)上傳成功最終終于實現(xiàn)了七牛云上傳的問題,如果還有問題的可以下方留言 最近公司內(nèi)部項目遇到上傳base64位圖片到七牛云,并且自定義key存儲,在解決過程遇到很多問題,但是最終經(jīng)過請教,都得到結(jié)果,故在這里總結(jié)一下... 官方文檔 1,布局代碼如下: ...

    張漢慶 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<