创建一个javascript的audio的singleton
因为网页上有很多”语句“要读,之前是通过 new Audio(url)的方式,创建一个新的audio来播放。不小心误点重复点击后,就会出现,多个声音在同播放。
为了解决这个问题,需要采用单一实例的模式,也就是Singleton。 下面看一个简单的实现方式。
# ./lib/singleton_audio.rb
为了解决这个问题,需要采用单一实例的模式,也就是Singleton。 下面看一个简单的实现方式。
# ./lib/singleton_audio.rb
export default class SingletonAudio {
contructor() {
if (SingletonAudio.instance) {
return SingletonAudio.instance;
}
SingletonAudio.instance = new Audio();
return Singleton.instance;
}
}# music.js
import SingletonAudio from "lib/singleton_audio"
...
play() {
let url = "http..../../../ok.mp3";
let audio = new SingletonAudio();
audio.src = url;
audio.addEventListener("canplaythrough", event => {
audio.play()
})
}
...阅读量: 1382
发布于:
修改于:
发布于:
修改于: