相关疑难解决方法(0)

我怎样才能为播放声音的结束创造一个承诺?

我有一个加载声音的简单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)

这甚至可能吗?

javascript html5-audio angularjs

13
推荐指数
1
解决办法
3639
查看次数

标签 统计

angularjs ×1

html5-audio ×1

javascript ×1