创建一个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() }) } ...
阅读量: 369
发布于:
修改于:
发布于:
修改于: