构建angularJS音频播放器的最佳方法是什么?

lio*_*elB 5 soundmanager2 angularjs web-audio-api

我想创建一个基于soundmanager2的angularJS音频播放器.在开始编码之前,我正在寻找关于我当前想法的建议.

我打算将播放器逻辑(声音管理器包装器)和播放器控件(按钮/擦除器)分开

  • 我还将使用.run()使用angular引导soundmanager

  • 声音管理器将被包装到工厂(声音播放器)中,并将返回一个soundmanager2实例

  • 声音控制(按钮和擦洗器+理想情况下,如果支持webaudio,则为波形)将通过指令(soundControls)处理,它将接收声音播放器实例

你觉得怎么样?我是不是想要它,重新发明轮子或我是一个好方法?建议是受欢迎的.

谢谢!

lio*_*elB 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); 
Run Code Online (Sandbox Code Playgroud)

从我的控制器中我处理这个

var unregisterInit = $scope.$on('snd:init', function(event, controls){
  unregisterInit();
  playerApi = controls;
});
Run Code Online (Sandbox Code Playgroud)