3***@qq.com
3***@qq.com
  • 发布:2023-10-18 14:28
  • 更新:2023-11-17 19:29
  • 阅读:645

各位大佬 uniapp中使用录音 recorderManager.onStop回调不执行怎么处理 下面是我的代码

分类:uni-app
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()  
        },
2023-10-18 14:28 负责人:无 分享
已邀请:
口哨呼啸

口哨呼啸

我最近也发现这个问题了,不过Android手机执行没有问题,在苹果的模拟器上跑就不调用。

要回复问题请先登录注册