私は、ユーザーがビデオを投稿できるソーシャルメディアフィードを持っています。 AngularJSを使用してビデオがバッファリングされている間、スピナーを追加したいと思います。ソーシャルメディア投稿(angularJS)でバッファリングするときのビデオローダー
for (var i = 0; i < scope.videos.length; i++) {
var video = scope.videos[i];
video.loading = false;
var videoElement = angular.element(document.getElementById(video.Id))[0];
videoElement.onplaying = function() {
video.loading = false;
scope.$apply();
};
videoElement.onwaiting = function() {
video.loading = true;
scope.$apply();
};
}
だから私は、メディアから動画をロードしていて、トリガーに 'ロード' のparamを設定します。これは私のスクリプトです
<div class="media-list-item col-xs-12" ng-repeat="media in ::videos">
<div class="embed-responsive embed-responsive-16by9">
<video controls oncontextmenu="return false;"
class="embed-responsive-item" frameborder="0" allowfullscreen preload="auto"
id="{{media.Id}}">
<source ng-src="{{::media.Url | trustAsResourceUrl}}" />
</video>
<i class="fa fa-spinner fa-pulse videoLoader" ng-show="media.loading" aria-hidden="true"></i>
</div>
</div>
: これはHTMLの一部であり、それぞれ別々のメディア(ビデオ)のng-showが表示されるので、ビデオが「待っている」(バッファリング中)のときは、スピナーを表示する必要があります。 特定の投稿に1つの動画しかないときはいつでも完全に機能しますが、1つの投稿に複数の動画がある場合は、最後の動画にのみスピナーが表示されます。どんな助けもありがたい。
ありがとう、私の問題を完全に解決しました。 – gabor