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

5
我想创建一个基于soundmanager2的angularJS音频播放器。在开始编码之前,我正在寻求关于我的当前想法的建议。
我计划将播放器逻辑(sound manager wrapper)和播放器控件(按钮/擦洗器)分开。
- 我还将使用.run()在angular中引导soundmanager。 - 声音管理器将被包装成一个工厂(soundplayer),并返回一个soundmanager2实例。 - 播放控件(按钮和擦洗器+如果支持webaudio则理想的波形)将通过指令(soundControls)处理,该指令将接收一个soundplayer实例。
你认为呢?我是在过度设计,重新发明轮子,还是走在正确的道路上?欢迎提供建议。
谢谢!

2
这个链接可能对你有兴趣。 - Mouagip
这里有一个 https://github.com/perminder-klair/angular-soundmanager2 我不确定 OP 是否是它的创建者。 - Ravimallya
1个回答

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;
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接