前言
只是一个常规的播放组件,需要考虑微信,微博这类环境的播放
微信和微博,若没有用其官方的js-sdk初始化,没法播放。...标签,引入对应js,然后用promise拿到成功加入head的状态
用vuex来维护播放状态
在对应的函数初始化音频的加载,之后就可以正常使用了
服务端的思路也差不多
考虑的东西多些,在之前客户端实现的基础上加以完善...用中间件这些来动态注入js-sdk
代码实现
客户端渲染实现的版本
版本1
全部耦合到组件内,虽然可以正常播放(包括微信和微博) 且不是单例模式,对于多音频页面,有毒
<div...this.audioElm.pause();
this.voicePlayMessage = '<em>音频</em><em>加载</em>资源错误!'...("voice/SetPlayer", player);
};
nuxt.config.js
因为audio对象只有客户端才有,所以不能服务端初始化 设置ssr:false就代表在客户端的时候才注入,默认不写