video
ページのタグの現在時刻を別のラベルで表示する必要があるHTML5ビデオを使用するアプリケーションに取り組んでいます。
ビデオのフォーマットされた時間を返すプロパティをビューで定義しようとしました。
videoCounter: function() {
return App.seconds2String(Math.floor(App.getCurrentVideoTime() + 0.5));
}.property().volatile()
これは、ビデオの現在の時刻をmm:ssとして返します。
この関数App.getCurrentVideoTime()
は、次のようにページ内のビデオ要素から現在の時刻を取得します(したがって、Emberプロパティではないため、バインドされません)。
getCurrentVideoTime: function() {
var videoElement = document.getElementById('video');
if (videoElement) {
return Math.round(videoElement.currentTime * 10) / 10;
}
else {
return 0;
}
}
ハンドルバービューには
<label id="videoCounter">{{view.videoCounter}}</label>
残念ながら、値はビデオの再生時に更新されません。つまり、00:00
常に表示されます。
ビデオタグの現在の時刻のみに依存する計算されたプロパティの更新をトリガーするにはどうすればよいですか?
高精度は必要ありません。タイマーはビデオの現在の時刻を秒単位で表示するだけです。
何か案は?
どうもありがとう!
トーマス