我有一个加载声音的简单JavaScript:
prefix = 'modules/sounds/';
_sounds = ['nameOfSound','nameOfSound','nameOfSound'];
for (var sound in _sounds) {
if (_sounds.hasOwnProperty(sound)) {
var cached = _sounds[sound];
cached.audio = new Audio(prefix + cached.src);
}
}
}
Run Code Online (Sandbox Code Playgroud)
所有这些都在这里缓存,然后在角度我只有一个服务,它执行以下功能:
this.play = function(trackName) {
_sounds[trackName].audio.play();
};
Run Code Online (Sandbox Code Playgroud)
我想要的是声音的简单承诺,所以当我打电话给我时,我会有这样的事情:
soundService.play('boom').then(function(){
do something here
});
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?