私は、Firebase Storageからビデオを再生するための基本的なVideogularビデオプレーヤーのセットアップを持っています。 HTMLビューでは、これは動作します:コントローラで
<div ng-controller="MyController as controller" class="videogular-container">
<videogular vg-theme="controller.config.theme.url">
<vg-media vg-src="controller.config.sources" vg-native-controls="true"></vg-media>
</videogular>
</div>
をこの作品:
var ref = firebase.database().ref(); // Create Firebase reference
var obj = $firebaseObject(ref.child($routeParams.id)); // get the record with the key passed in from the URL
var controller = this; // controller refers to the controller object
obj.$loaded(// wait until the async data loads from the remote Firebase
function(data) {
// video player
controller.config = { // provides an object to the controller
preload: "auto",
sources: [
// My Firebase video
{src: $sce.trustAsResourceUrl($scope.wordObject.videos[0].videoURL), type: "video/" + $scope.wordObject.videos[0].videoMediaFormat},
// The Videogular test videos
{src: $sce.trustAsResourceUrl("http://static.videogular.com/assets/videos/videogular.mp4"), type: "video/mp4"},
{src: $sce.trustAsResourceUrl("http://static.videogular.com/assets/videos/videogular.webm"), type: "video/webm"},
{src: $sce.trustAsResourceUrl("http://static.videogular.com/assets/videos/videogular.ogg"), type: "video/ogg"}
],
theme: {
url: "http://www.videogular.com/styles/themes/default/latest/videogular.css"
}
};
},
function(error) {
console.log("Error: ", error)
});
すべてが一つのビデオを再生するには、動作します。今、テーマ別に動画の配列に動的にアクセスしたいと思っています。たとえば、ユーザーがクリックしてすべての猫の動画を見るか、別のボタンをクリックしてすべての犬の動画を見ます。あまりにも素晴らしい作品
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 text-center">
<h3>{{currentTheme}}</h3>
<div>
<div ng-repeat="video in currentVideos">
{{video.videoURL}}
</div>
</div>
</div>
</div>
:私は、ビュー内のURLアウト$scope
とng-repeat
プリント上FirebaseストレージのURLを持っています。だから私はちょうどvg-src
が$scope
から来ると、各ビデオのための新しいビデオプレーヤーでng-repeat
を行う必要があり、すべての私の猫のビデオとビデオプレーヤーのシリーズをスピンアウトします
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 text-center">
<h3>{{currentTheme}}</h3>
<div>
<div ng-repeat="video in currentVideos">
<div ng-controller="MyController as controller" class="videogular-container">
<videogular vg-theme="controller.config.theme.url">
<vg-media vg-src="{{video.videoURL}}" vg-native-controls="true"></vg-media>
</videogular>
</div>
</div>
</div>
</div>
</div>
。エラーはError: [$parse:syntax]
です。つまり、角度構文エラーがあります。私は戻ってvg-src="controller.config.sources"
からvg-src
を変更すると、構文エラーが消える:
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 text-center">
<h3>{{currentWord}}</h3>
<div>
<div ng-repeat="video in currentVideos">
<div ng-controller="EnglishController as controller" class="videogular-container">
<videogular vg-theme="controller.config.theme.url">
<vg-media vg-src="controller.config.sources" vg-native-controls="true"></vg-media>
</videogular>
</div>
</div>
</div>
</div>
</div>
に動作すること。問題は、vg-src="controller.config.sources"
が機能しますが、vg-src="{{video.videoURL}}"
は機能しません。 $scope
のビデオをVideogularソースにできないのはなぜですか?
$scope
のビデオソースをコントローラのcontroller.config
に配置しようとしましたが、これは決して機能しませんでした。私は明日これをやろうとするべきでしょうか? (遅いですが、ビデオソースを$scope
からコントローラのcontroller.config
に入れることができない理由を理解しようと混乱しています)