2015-03-03 52 views
1

我遇到了以下问题。 我们有一个AngularJS应用程序,它应该在路线example.com/video/:id 上服务器视频它调用我们写的API完全正确,我们得到的文件url完全正确。 现在我们当然想在VideoJS中展示这个视频。 我们正在建设的JSON字符串作为像这样:VideoJS通过RESTful API动态更改源码

var video_sources = '[{ type: "video/mp4", src: "http://example.com/'+data.data.filename+'-360.mp4" }'; 
     video_sources=video_sources+"]"; 

我们得到的字符串如下:

[{ type: "video/mp4", src: "http://example.com/clip-360.mp4" }] 

现在我们使用VideoJS的的.src()方法来改变这样的来源:

video_player.src(video_sources); 

,但现在我们得到了一个VideoJS错误:

TypeError: Cannot read property 'Tb' of null {stack: (...), message: "Cannot read property 'Tb' of null"}message: "Cannot read property 'Tb' of null" 

我不明白为什么它不工作。 关于玩家的一些信息: 当用户访问该网站时,玩家已经加载但不可见。如果这个重要,它也没有包含视频,但我不这么认为。

+0

video_player对象是如何创建的 - 内联还是在指令中?它绑定了哪个DOM节点?你如何让视频播放器最初不可见(ng-if,ng-show)?可能需要查看更多代码。 – 2015-03-03 02:11:11

+0

这不是一个laravel问题。 – itachi 2015-03-03 06:39:26

+0

我们在index.html里有一个脚本标签,它是这样做的:var video_player = videojs('example_player');我们监听路线变化以及和显示块,而不是显示无。我们使用Laravel API,但是对不起,这个问题并不重要。 – Sebi55 2015-03-03 08:59:27

回答

1

修好了! 我刚刚提供了一个对象而不是一个字符串,它的工作