const recorderManager = uni.getRecorderManager()
const innerAudioContext = uni.createInnerAudioContext()
var init // 录制时长计时器
var timer // 播放 录制倒计时
export default {
data() {
return {
count: null, // 录制倒计时
longPress: '1', // 1显示 按住说话 2显示 说话中
delShow: false, // 删除提示框显示隐藏
time: 0, //录音时长
duration: 60000, //录音最大值ms 60000/1分钟
tempFilePath: '', //音频路径
playStatus: 0, //录音播放状态 0:未播放 1:正在播放
}
},
methods: {
// 倒计时
countdown(val){
let _then = this;
_then.count = Number(val);
timer = setInterval(function() {
if(_then.count > 0){
_then.count--
} else {
_then.longPress = '1';
clearInterval(timer);
}
}, 1000);
},
// 长按录音事件
longpressBtn(){
console.log(44);
this.longPress = '2';
this.countdown(60); // 倒计时
clearInterval(init) // 清除定时器
recorderManager.onStop((res) => {
alert('recorder stop录音文件' JSON.stringify(res));
this.tempFilePath = res.tempFilePath;
this.recordingTimer(this.time);
})
const options = {
duration: this.duration, // 指定录音的时长,单位 ms
sampleRate: 16000, // 采样率
numberOfChannels: 1, // 录音通道数
encodeBitRate: 96000, // 编码码率
format: 'mp3', // 音频格式,有效值 aac/mp3
frameSize: 10, // 指定帧大小,单位 KB
}
this.recordingTimer();
recorderManager.start(options);
// 监听音频开始事件
recorderManager.onStart((res) => {
console.log(res)
})
},
// 长按松开录音事件
touchendBtn(){
this.longPress = '1';
recorderManager.onStop((res) => {
this.tempFilePath = res.tempFilePath
})
this.recordingTimer(this.time)
recorderManager.stop()
},
3***@qq.com
- 发布:2023-10-18 14:28
- 更新:2023-11-17 19:29
- 阅读:645
1 个回复
口哨呼啸
我最近也发现这个问题了,不过Android手机执行没有问题,在苹果的模拟器上跑就不调用。