前段时间有个需求是将小程序转换成h5,然后uni.getRecorderManager()就自然而然的不能用了,最后通过网上忘了是哪找的文章加上自己修修改改的使用navigator解决了这个问题
附代码:
<template>
<view class="recorder"> </view>
</template>
<script>
export default {
data() {
return {
isUserMedia: false, //false 代表初始化失败 true 成功
stream: null,
audio: null,
recorder: null,
chunks: [],
startTime: 0,
};
},
//判断兼容问题和https并初始化
mounted() {
/**
* error 事件的返回状态
* 100: 请在HTTPS环境中使用
* 101: 浏览器不支持
* 201: 用户拒绝授权
* 500: 未知错误
* */
if (window.location.origin.indexOf("https") === -1) {
this.$emit("error", "100");
throw "请在 https 环境中使用本插件。";
}
// 老的浏览器可能根本没有实现 mediaDevices,所以我们可以先设置一个空的对象
if (navigator.mediaDevices === undefined) {
navigator.mediaDevices = {};
}
// 一些浏览器