Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 来自指令的媒体播放器对象_Angularjs_Angularjs Directive_Flowplayer - Fatal编程技术网

Angularjs 来自指令的媒体播放器对象

Angularjs 来自指令的媒体播放器对象,angularjs,angularjs-directive,flowplayer,Angularjs,Angularjs Directive,Flowplayer,我正在尝试使用指令访问flowplayer媒体播放器。这样父控制器就可以广播事件,然后播放器就可以使用侦听器响应这些事件。事件正在运行,但玩家未定义,因此无法真正运行。我的问题是: 1) 玩家没有初始化我一定是设置不正确。 2) 我希望player对象作为$scope.player在作用域中可用,这样我就可以告诉它$scope.player.play()或$scope.player.stop()。当DOM准备就绪时,我对控制器、vs链接以及播放器初始化的理解中缺少了一些东西,因为我无法将播放器分

我正在尝试使用指令访问flowplayer媒体播放器。这样父控制器就可以广播事件,然后播放器就可以使用侦听器响应这些事件。事件正在运行,但玩家未定义,因此无法真正运行。我的问题是: 1) 玩家没有初始化我一定是设置不正确。 2) 我希望player对象作为$scope.player在作用域中可用,这样我就可以告诉它$scope.player.play()或$scope.player.stop()。当DOM准备就绪时,我对控制器、vs链接以及播放器初始化的理解中缺少了一些东西,因为我无法将播放器分配给范围变量来启动/停止它。我可以从控制台使用jquery初始化播放器,所以我的初始化函数似乎没有在正确的时间运行

代码

//查看
//控制器

App = angular.module("myapp", [])
App.controller 'AudioCtrl', ['$scope', ($scope) ->
 $scope.togglePlay() =->
    $scope.broadcast('start')

//directive
App.directive 'audioFlowPlayer' ->
  restrict: 'A'
  scope: {
    url: '@'
  }
  template: '<a href="{{url}}"</a>'
  controller: ($scope, $element, $attrs) -> 
    $scope.init_player = ->
      $scope.player = 
        $element.flowplayer("/path/to/flow.swf",
          clip:
            audoPlay: false
          )

    $scope.$on "start", ->
      $scope.player.play()

   link: (scope, element, attrs) ->
     scope.init_player()
App=angular.module(“myapp”,[])
App.controller'AudioCtrl',['$scope',($scope)->
$scope.togglePlay()=->
$scope.broadcast('start'))
//指示
应用程序指令“audioFlowPlayer”->
限制:“A”
范围:{
url:“@”
}

模板:'检查这个mediaPlayer指令。它与flowplayer、mediaelement和纯html5一起工作。它可以与其他播放器库一起工作,但到目前为止我只测试了这些

所有内容都基于模板,因此,只要创建适当的HTML5视频模板,就可以创建网站上的任何flowplayer演示

这是调用flowplayer的HTML

<div media-player media-type="{{mediaType}}" video-config="activeVideo" template-url="{{currentFlowplayer}}"></div>

{mediatype}}将等于“flowplayer”或您想在元素上调用的任何函数。因此,如果您想创建一个mediaelement播放器,那么您将设置media type=“mediaelementplayer”。模板url指向您想呈现的任何模板,这是构建播放列表等的内容

下面是一个可能的flowplayer模板

<div class="flowplayer">
 <video>
  <source type="video/mp4" src="http://stream.flowplayer.org/download/640x240.mp4">
  <source type="video/webm" src="http://stream.flowplayer.org/download/640x240.webm">
  <source type="video/ogg" src="http://stream.flowplayer.org/download/640x240.ogv">
 </video>

 <div class="fp-playlist">
  <a class="is-advert" href="http://stream.flowplayer.org/download/640x240.mp4"></a>
  <a ng-repeat="video in videoConfig.playlist" href="{{video}}.mp4">Video {{$index + 1}}   </a>
 </div>

 <div class="preroll-cover">pre-roll</div>
</div>

预滚
这是该指令的链接

<div class="flowplayer">
 <video>
  <source type="video/mp4" src="http://stream.flowplayer.org/download/640x240.mp4">
  <source type="video/webm" src="http://stream.flowplayer.org/download/640x240.webm">
  <source type="video/ogg" src="http://stream.flowplayer.org/download/640x240.ogv">
 </video>

 <div class="fp-playlist">
  <a class="is-advert" href="http://stream.flowplayer.org/download/640x240.mp4"></a>
  <a ng-repeat="video in videoConfig.playlist" href="{{video}}.mp4">Video {{$index + 1}}   </a>
 </div>

 <div class="preroll-cover">pre-roll</div>
</div>