2017-02-23 28 views
0

У меня возникает странная ошибка при попытке интегрировать video.js в моем угловом приложении.Интеграция video.js в угловом веб-приложении

<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" 
     width="300" height="264" 
     poster="http://video-js.zencoder.com/oceans-clip.png" data-setup="{}"> 
    <source src="http://d2bqeap5aduv6p.cloudfront.net/project_coderush_640x360_521kbs_56min.mp4" type='video/mp4' /> 
</video> 

Над кодом работает отлично для меня. Но когда я объявляю URL видео в контроллере, он дает мне следующую ошибку enter image description here

Вот код просмотров

<video id="example_video_2" class="video-js vjs-default-skin" controls preload="none" 
     width="300" height="264" 
     poster="http://video-js.zencoder.com/oceans-clip.png" data-setup="{}"> 
    <source src="{{video_link}}" type='video/mp4' /> 
</video> 

А вот мой контроллер

app.controller('IndexCtrl', function ($scope, $location, $http,$sce,$routeParams) { 
angular.element(document).ready(function() { 
     //$scope.getVideos(); 
     $scope.video_link = "http://d2bqeap5aduv6p.cloudfront.net/project_coderush_640x360_521kbs_56min.mp4"; 
    }); 

}) 

Может ли один объясняет, почему я получаю эту ошибку?

ответ

1

Src не работает с использованием углового синтаксиса ng-src вместо.

<source ng-src="{{video_link}}" type='video/mp4' />

Вот что я сделал в моем контроллере приложения:

$scope.generateSrc = function (file, mediaType) { 
    if (!!file) { 
     return '/media/conversation/' + mediaType + '/' + file; 
    } 
}; 

В шаблоне

<video poster="{{generateSrc(mediaPoster, 'photo')}}" width="100%" height="100%" class="hzVideoPlayer" id="v_{{vId}}" preload="auto" loop> 
    <!--MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7--> 
    <source ng-src="{{generateSrc(mediaUrl, 'video')}}" type="video/mp4" data-quality="high"> 
    <source ng-src="{{generateSrc('SD_'+mediaUrl, 'video')}}" type="video/mp4" data-quality="low"> 
    <!-- WebM/VP8 for Firefox4, Opera, and Chrome--> 
    <source ng-src="{{generateSrc(mediaUrl, 'video')}}" type="video/webm" data-quality="high"> 
    <source ng-src="{{generateSrc('SD_'+mediaUrl, 'video')}}" type="video/webm" data-quality="low"> 
    <!-- Flash fallback for non-HTML5 browsers without JavaScript--> 
    <object width="320" height="240" type="application/x-shockwave-flash" data="/media/flashmediaelement.swf"> 
     <param name="movie" value="/media/flashmediaelement.swf"/> 
     <param name="flashvars" value="controls=true&file={{generateSrc(mediaUrl, 'video')}}"/> 
     <!-- Image as a last resort --> 
     <img ng-src="{{generateSrc(mediaPoster, 'photo')}}" width="320" height="240" title="No video playback capabilities"/> 
    </object> 
</video> 
+0

Попробованном, но по-прежнему получать Сэм e ошибка. –

+0

@Neel: Пожалуйста, следуйте приведенному выше коду, это может вам помочь. –

+0

Большое спасибо @Dipak. Но я все равно получаю ту же ошибку. Однако все работает отлично, когда видео размещено на одном сервере. Я получаю ошибку только тогда, когда пытаюсь отобразить видео с URL-адреса. –

Смежные вопросы