uniapp开发h5页面录音并上传和播放已上传录音

1.在H5中录音有很大的限制,需要在https的域名下或者localhost本地下才可 不然会报错 

2.安装 npm i js-audio-recorder

3.引入并创建

 4.基本用法 // 开始录音 recorder.start(); // 暂停录音 recorder.pause(); // 继续录音 recorder.resume() // 结束录音 recorder.stop(); // 录音播放 recorder.play(); // 销毁录音实例,释放资源,fn为回调函数, recorder.destroy(fn); recorder = null; 直接获取录音数据 // 获取 PCM 数据(Blob) recorder.getPCMBlob(); // 获取 WAV 数据(Blob) recorder.getWAVBlob(); 下载功能 // 下载pcm文件 recorder.downloadPCM(); // 下载wav文件 recorder.downloadWAV(); // 重命名pcm文件,wav也支持 recorder.downloadPCM('重命名'); 获取录音时长 // 回调持续输出时长 recorder.onprocess = function(duration) { console.log(duration); } // 手动获取录音时长 console.log(recorder.duration);

6.获取到了后将音频转化为文件上传到服务器

 

 7.上传服务器后将服务器返回的地址放进播放器里面进行播放,播放器组件已经不维护,改用api维护

 

 

 8.更详细的可以结合以下俩文章去看

H5原生使用录音功能 - DCloud 插件市场

uni.createInnerAudioContext() | uni-app官网

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Uniapp 可以通过调用 H5 原生 API 来实现录音功能。具体步骤如下: 1. 首先需要在 manifest.json 文件中配置应用需要使用的权限,包括录音权限。示例代码: ```json { "mp-weixin": { "appid": "xxxxx", "permissions": { "scope.record": { "desc": "用于录制音频" } } } } ``` 2. 在需要录音页面中,通过 uni.getRecorderManager() 获取录音管理器对象。示例代码: ```javascript const recorderManager = uni.getRecorderManager(); ``` 3. 调用录音管理器对象的 start() 方法开始录音。示例代码: ```javascript recorderManager.start({ format: 'mp3', duration: 30000, sampleRate: 16000, encodeBitRate: 96000, frameSize: 50 }); ``` 其中,format 表示录音文件的格式,duration 表示录音时长,sampleRate 表示采样率,encodeBitRate 表示编码码率,frameSize 表示帧大小。 4. 录音结束后,调用录音管理器对象的 stop() 方法停止录音,并在 onStop() 回调函数中获取录音文件的临时路径。示例代码: ```javascript recorderManager.stop(); recorderManager.onStop((res) => { uni.showToast({ title: '录音完成', icon: 'success' }); const tempFilePath = res.tempFilePath; }); ``` 5. 将录音文件上传到服务器或者进行其他处理。注意,录音文件的临时路径只在当前页面有效,如果需要在其他页面使用该文件,需要将文件复制到其他目录下。 以上就是使用 H5 原生 API 在 Uniapp 中实现录音功能的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值