我想创建一个基于soundmanager2的angularJS音频播放器。 在开始编码之前,我正在寻找关于我当前想法的建议。
我计划将播放器逻辑(声音管理器包装器)和播放器控件(按钮/擦除器)分开
我还将使用.run()
声音管理器将被包装到工厂(音响播放器)并返回soundmanager2实例
声音控制(按钮和擦洗器+理想情况下,如果支持webaudio,则为波形)将通过指令(soundControls)处理,它将接收声音播放器实例
谢谢!
答案 0 :(得分:2)
我终于选择了基于事件的沟通。 创建指令后,我会发出一个包含我想要公开的API的对象。
$scope.controls={
play: function(){
snd.play();
},
stop: function(){
snd.stop();
},
pause: function(){
snd.pause();
},
rewind: function(){
snd.stop();
snd.play();
}
}
$scope.$emit('snd:init', $scope.controls);
从我的控制器中我处理这个
var unregisterInit = $scope.$on('snd:init', function(event, controls){
unregisterInit();
playerApi = controls;
});