注册

webim 得到音频blob地址,页面刷新后就不能播放了



1.png




2.png




3.png




4.png


 
已邀请:

lizg - ……

真的是比较尴尬
测试app发给web 的消息,直接用地址就不行,必须转成mp3 格式
每条audio 都要转成mp3 ,可以直接用环信提供的方法处理

vtchg - 123456

赞同来自: 五彩斑斓的黑

我现在找到解决方法了。audio不能播放amr,我找了个插件播放。谢谢了!我现在还就是遇到个问题就是,我用微信公众号开发,录音已经上传到自己的服务,录音地址也拿到了。怎么样将音频发给对方呢。var input = document.getElementById('audio'); // 选择音频的input var file = WebIM.utils.getFileUrl(input); // 将音频转化为二进制文件?这个看的一脸蒙蔽

lizg - ……

刷新后获取到的地址是服务器直接返回的地址了
需要转成mp3 再播放的

vtchg - 123456

我把服务器返回的地址直接存储到localstorage的,那怎么样转化为mp3呢!我知道监听音频代码可以转mp3.
 

onAudioMessage: function ( message ) {
console.log(message);
    var options = { url: message.url };
  
    
    options.onFileDownloadComplete = function ( response ) {
   var objectURL = WebIM.utils.parseDownloadResponse.call(conn, response);

   //音频下载成功
    };  
    options.onFileDownloadError = function () {
      //音频下载失败 
    };  
    //通知服务器将音频转为mp3
    options.headers = { 
      'Accept': 'audio/mp3'
    };
    WebIM.utils.download.call(conn, options);
  },
 
我只保存了音频地址:https://a1.easemob.com/1107190415055666/tianxinplayapp/chatfiles/6b3911f0-a00e-11ea-b39f-576b36ee7d28
 
怎么转mp3呢

vtchg - 123456

我把所有监听到的音频消息的音频文件地址都保存到localstorage. 怎么样把这些音频文件地址转化为mp3呢?
 
我看开发文档里面只有监听到音频消息时转换mp3办法

lizg - ……

可以在取消息的时候判断,如果是 audio 消息 就调用 api转成mp3 格式展示到ui

lizg - ……

@vtchg 你要检查下,你刷新后,登陆是取的什么值
是环信服务器返回的地址么?

lizg - ……


76BC4C61-EDC5-4101-BD8A-293598DA0DA9.png




05F3D59C-23CE-4724-B57C-4D73DDE0B487.png


看一下,我就是直接存到 localStorage 中的,然后再取的

vtchg - 123456


微信图片_20200601184635.png


这两个地址。我都试过了。blob地址就是objusl一次性有效。message.url放在audio根本就不能播放。

vtchg - 123456


1.png




2.png


这个就尴尬了!我这里就是不行!
 

要回复问题请先登录注册