需求
app获取录音权限权限, 实现录音并且播放功能
实现
一. 使用permission获取录音权限
原博 : https://www.wanjunshijie.com/note/uniapp/3203.html
1.1 安卓 : manifest.json 配置权限 android.permission.RECORD_AUDIO
**ios : manifest.json模块配置 Record **
1.2 permision使用和下载 ( 自行百度搜索即可 )
1.3 获取录音权限
import permision from "@/utils/permission.js"
open() {
let env = uni.getSystemInfoSync().platform
if (env === 'android') {
permision.requestAndroidPermission('android.permission.RECORD_AUDIO').then((e) => {
if (e === -1) {
uni.showToast({
title: '您已经永久拒绝录音权限,请在应用设置中手动打开',
icon: 'none',
})
} else if (e === 0) {
uni.showToast({
title: '您拒绝了录音授权',
icon: 'none',
})
} else if (e === 1) {
this.show = true
} else {
uni.showToast({
title: '授权返回值错误',
icon: 'none',
})
}
}).catch((err) => {
uni.showToast({
title: '拉起录音授权失败',
icon: 'none',
})
})
} else if (env === 'ios') {
if (permision.judgeIosPermission("record"))
this.show = true
else
uni.showToast({
title: '您拒绝了录音授权,请在应用设置中手动打开',
icon: 'none',
})
}
},
ios打开麦克风权限也需要申请麦克风权限 requestRecordPermission
// 当麦克风权限未开启时, 申请麦克风权限
var avaudiosession = plus.ios.import("AVAudioSession");
var avaudio = avaudiosession.sharedInstance();
avaudio.requestRecordPermission(()=>{
console.log('申请麦克风权限');
});
下方截图来自 : https://ask.dcloud.net.cn/question/142395
关于麦克风权限申请和获取 简单理解步骤 :文章来源:https://www.toymoban.com/news/detail-664566.html
- menifest.json 模块和权限进行配置(配置完需要重新打包)
- 安卓
调用plus.android.requestPermissions([permissionID]), 来查询权限 , 未打开则弹窗询问
ios
先调recordPermission(), 查询权限, 未做出选择则申请权限requestRecordPermission(), 若已申请权限, 但是用户拒绝, 则跳转到"设置"
二. 开始 / 停止 / 播放 录音
文档 : https://uniapp.dcloud.net.cn/api/media/record-manager.html#getrecordermanager文章来源地址https://www.toymoban.com/news/detail-664566.html
<view>
<button @click="startRecord">开始录音</button>
<button @click="endRecord">停止录音</button>
<button @click="playVoice">播放录音</button>
</view>
const recorderManager = uni.getRecorderManager();
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
startRecord() {
console.log('开始录音');
recorderManager.start();
},
endRecord() {
console.log('录音结束');
recorderManager.stop()
recorderManager.onStop((res) => {
console.log(res, '开始录音的回调')
this.voicePath = res.tempFilePath;
})
},
playVoice() {
console.log('播放录音');
if (this.voicePath) {
innerAudioContext.src = this.voicePath;
innerAudioContext.play();
}
},
到了这里,关于【uniapp】使用permission获取录音权限及实现录音功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!