国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

cordova錄音轉base64上傳七牛

cfanr / 3316人閱讀

摘要:目前公司的項目是基于,領導要加類似微信的語音聊天功能,看了看七牛的文檔跟源碼,功能有太多我用不上的。先前上傳圖片用的是七牛提供的上傳方法,那如果把錄音轉成,也就可以上傳到七牛了。錄音的組件我最終用的,錄音出來的格式是,跟都支持播放。

目前公司的webapp項目是基于meteor+react+cordova,領導要加類似微信的語音聊天功能,看了看七牛的文檔跟源碼,功能有太多我用不上的。先前上傳圖片用的是七牛提供的base64上傳方法,那如果把錄音轉成base64,也就可以上傳到七牛了。

錄音的組件我最終用的cordova-plugin-media-with-compression,錄音出來的格式是.m4a,iOS跟Android都支持播放。

cordova-plugin-media-with-compressioncordova-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

相關文章

  • 淺析前端上傳

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

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

    摘要:如果你有疑問,或許可以參考創建密鑰使用谷歌將語音轉換為文字。將其取出,得到字典。 在之前發布的使用谷歌Cloud Speech API將語音轉換為文字一文中,我們實現了在控制臺使用curl發送post請求,得到語音轉文字的結果;而在Python中使用谷歌Cloud Speech API將語音轉換為文字一文中,我們實現了安裝Cloud Speech API客戶端庫,通過調用庫函數得到語音...

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

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

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

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

    張漢慶 評論0 收藏0

發表評論

0條評論

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