当前位置:   article > 正文

uniapp实现小程序或App录音功能_uinapp获取录音的接口

uinapp获取录音的接口

小程序或app实现录音功能,uniapp官网自带的有方法,比较简单。

参考官方文档的API 根据API调试一下就可以

官方文档也有相应的示例 uni.getRecorderManager() | uni-app官网 (dcloud.net.cn)

录音功能uniapp文档

平台差异说明

AppH5微信小程序支付宝小程序百度小程序抖音小程序、飞书小程序QQ小程序快手小程序京东小程序
x
获取全局唯一的录音管理器 recorderManager
方法参数说明平台差异说明
startoptions开始录音
pause暂停录音App 暂不支持
resume继续录音App 暂不支持
stop停止录音
offStopcallback取消监听录音停止事件仅支付宝小程序支持
onStartcallback录音开始事件
offStartcallback移除录音开始事件仅支付宝小程序支持
onPausecallback录音暂停事件
offPausecallback移除监听录音暂停事件仅支付宝小程序支持
onStopcallback录音停止事件,会回调文件地址
onResumecallback监听录音继续事件仅小程序支持
offResumecallback取消监听录音继续事件仅支付宝小程序支持
onInterruptionBegincallback监听录音因为受到系统占用而被中断开始事件。以下场景会触发此事件:微信语音聊天、微信视频聊天、QQ语音聊天、QQ视频聊天、电话响铃、接听电话。此事件触发后,录音会被暂停。pause 事件在此事件后触发微信小程序、百度小程序、QQ小程序、快手小程序
onInterruptionEndcallback监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。微信小程序、百度小程序、QQ小程序、快手小程序
onFrameRecordedcallback已录制完指定帧大小的文件,会回调录音分片结果数据。如果设置了 frameSize ,则会回调此事件App 暂不支持
offFrameRecordedcallback取消监听已录制完指定帧大小的文件事件,指定 frameSize 大小并且 format 参数设置为 mp3 格式,调用此接口才会有回调仅支付宝小程序支持
onDecibelChangecallback监听声音分贝变化事件,详见 仅支付宝小程序支持
offDecibelChangecallback取消监听声音分贝变化事件,详见 仅支付宝小程序支持
onErrorcallback录音错误事件, 会回调错误信息
offErrorcallback取消监听录音错误事件仅支付宝小程序支持

示例代码:

<template>
	<view>
		<button @tap="startRecord">开始录音</button>
		<button @tap="endRecord">停止录音</button>
		<button @tap="playVoice">播放录音</button>
	</view>
</template>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
const recorderManager = uni.getRecorderManager();
const innerAudioContext = uni.createInnerAudioContext();
 
innerAudioContext.autoplay = true;
 
export default {
	data() {
		return {
			text: 'uni-app',
			voicePath: ''
		}
	},
	onLoad() {
		let self = this;
		recorderManager.onStop(function (res) {
			console.log('recorder stop' + JSON.stringify(res));
			self.voicePath = res.tempFilePath;
		});
	},
	methods: {
		startRecord() {
			console.log('开始录音');
 
			recorderManager.start();
		},
		endRecord() {
			console.log('录音结束');
			recorderManager.stop();
		},
		playVoice() {
			console.log('播放录音');
 
			if (this.voicePath) {
				innerAudioContext.src = this.voicePath;
				innerAudioContext.play();
			}
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

大家可以自行测试一下

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/899885
推荐阅读
相关标签
  

闽ICP备14008679号