记 华为鸿蒙机型小程序使用uni.createInnerAudioContext() 播放音频播放两次的问题

记 华为鸿蒙机型小程序使用uni.createInnerAudioContext() 播放音频播放两次的问题,被这个问题折磨了两天

直接上解决方案demo 代码 主要是红框代码是解决鸿蒙播放两次的问题,播放前先初始化一遍实例,然后赋值音频url,延迟300ms销毁在重新创建实例播放音频就好了

js 复制代码
async play(item) {
                try {
                    const url = await this.getAudioSrc(item);
                    innerAudioContext = uni.createInnerAudioContext();
                    innerAudioContext.src = url;
                    setTimeout(() => {
                        this.pause();
                        innerAudioContext = uni.createInnerAudioContext();
                        innerAudioContext.src = url;
                        innerAudioContext.onPlay(() => {
                            console.log('开始播放');
                        });
                        innerAudioContext.onError((res) => {
                            console.log(res.errMsg);
                            console.log(res.errCode);
                        });
                        innerAudioContext.play();
                    }, 300);
                } catch (error) {
                    //TODO handle the exception
                }
            },
相关推荐
程序猿阿伟6 分钟前
《Chrome隔离机制的维度落地指南》
前端·chrome
用户054324329708 分钟前
AI 生成的代码怎么在前端安全预览 + 一键运行:sandbox iframe 实战 🔒
前端
ALianBlank9 分钟前
一个 Unity 框架能做多少事?86 个模块 + 21 个小游戏平台
前端·后端·游戏开发
To_OC12 分钟前
搞懂二叉树递归遍历,我居然是从爬楼梯开始的
前端·javascript·数据结构
何何____17 分钟前
svg基本图形绘制介绍
前端·css
weedsfly17 分钟前
Sass 运算 vs CSS calc():你的计算该放在哪一层?
前端
在水一缸30 分钟前
重塑前端开发认知:当 AI 遇见 HTML 的“不合理有效性”
前端·人工智能·html·ai编程·claude·前端开发
SwJieJie35 分钟前
Webpack vs Vite 构建工程化实战(Vue 项目深度解析)
前端·vue.js·webpack·node.js
swg32132143 分钟前
Redis实现主从选举
java·前端·redis
英俊潇洒美少年1 小时前
前端核心性能指标全解(CWV三大指标+辅助指标、检测方式、优化、面试背诵)
前端