2

私はビューにhtml5ビデオを埋め込んだプロジェクトを持っています。角度jsプロジェクトでのhtml5ビデオソースの強制更新

$ scopeを使用してソースを動的に読み込みます。

初期のビデオ私はプレーヤーをうまく動作させています。

ビデオの最後で、ビデオのsrcを次のクリップに変更して終了します。

私の問題は、ビデオsrcが更新されず、最初のクリップだけが再生されるということです。

  <video style="width:100%; height:100%; padding:0;" class="embed-responsive embed-responsive-16by9" id="myVideo" controls> 
       <source ng-src="{{currentVideo}}" type="video/mp4"> 
      </video> 

ここでは、コントローラからの変更実装するコードです:

ここでは、HTML(かなりまっすぐ進む)ですFYI

 if (videoId.currentTime >= videoId.duration - 1) { 
      // $state.go('unit_1'); 

       $scope.currentVideo = myObj.units[1].lessonUrl; //set video 
       videoId.play(); 
     } 

は - VIDEOIDは、ビデオのためのVARです。それは正常に動作します()、一時停止()、currentTimeを取得します。

私はプレーヤーを制御しており、最初のビデオを正常に読み込んでいることはわかっています。

私は、$ scopeが新しいビデオURLを変更したときには、明らかに私は間違っていると仮定しています。

アイデア?

ありがとうございます!

答えて

4

あなたがビデオの<source>要素のSRCを変更したい場合は、あなたがvideoId.play();videoId.load();を呼び出す必要がありそうでない場合は、単にビデオ要素自体に直接src属性を変更する - その後、負荷が必要としません。

<video ng-src="{{currentVideo}}" style="width:100%; height:100%; padding:0;" class="embed-responsive embed-responsive-16by9" id="myVideo" controls> 
</video> 
+0

残念ながら、新しいソースでビューが更新されることはありません。ソースに読み込まれた元のビデオが再生されます。 – cnak2

+0

このコードはオンラインでご覧いただけますか? srcは更新されたことを示していますか? – TimHayes

+0

こんにちはティム、私はしませんが、今晩後にプランナーを一緒に入れて、この質問へのリンクを追加します。ありがとう。 – cnak2

関連する問題