震惊!!!app,小程序居然可以实现录音功能了

app录音上传文件可以采用uniapp的方法,地址:uni.getRecorderManager() | uni-app官网

代码如下:

	const recorderManager = uni.getRecorderManager();
	const innerAudioContext = uni.createInnerAudioContext();

	innerAudioContext.autoplay = true;
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;
		});
	},

这里onload里面这个res.tempFilePath返回的是文件路径可以配合uni.uploadFile方法进行上传

recorderManager.onStop(function(res) {
				let token = self.$tool.localStorage.get('user_token');
				let imgHeader = {
					'Authorization': 'Bearer ' + token,
					'platform': 'app'
				};
				uni.uploadFile({
					url: self.$config.SERVERURL + "/proposal/XXX", (上传接口实例)
					filePath:res.tempFilePath,
					name: 'file',
					header: imgHeader,
					formData: {
						'proposalId': self.proposalObj.proposalId
					},
					success: (uploadFileRes) => {
						console.log(uploadFileRes.data);
						self.tapeUrl = JSON.parse(uploadFileRes.data).data;
					},
					fail(err) {
						console.log(err);
					}
				});
			});

然后就是开始录音 结束录音 播放录音的事件函数了

methods: {
		startRecord() {
			console.log('开始录音');

			recorderManager.start();
		},
		endRecord() {
			console.log('录音结束');
			recorderManager.stop();
		},
		playVoice() {
			console.log('播放录音');

			if (this.voicePath) {
				innerAudioContext.src = this.voicePath;
				innerAudioContext.play();
			}
		}
	}

以上根据实际开发需求更改。

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值