2017-02-04 12 views
2

私はテーブルにリストされているビデオからビデオデュレーションを取得しようとしています。 @ViewChildrenを使用してアクセスしようとしましたが、1つの部分まで成功しました。私はクエリリストを取得しますが、私は_resultsにアクセスしようとするとundefinedを返します。後で私はqueryListが何らかの理由で非公開であることを知りました。角度2、ビデオ期間アクセス。

<video id="video1" #video> 
<source src = "{{videos.link}}" type="video/mp4"> 
</video> 
@ViewChildren('video') video; 
ngOnInit: { 
Observable.timer(1000,1000).subscribe(() => { 
if(this.video && !this.isVideoLogged){ 
console.log(this.video); 
this.isVideoLogged = true; 
} 
} 

答えて

3

あなたはloadedmetadataイベントを使用することができます:の継続アクセスもの処理方法

Plunker example

<video width="480" controls #video (loadedmetadata)="onMetadata($event, video)" 
onMetadata(e, video) { 
    console.log('metadata: ', e); 
    console.log('duration: ', this.duration = video.duration); 
    } 
+0

をすべてのヘルプは私のコードです。ここ

を理解されるであろうビューである複数の動画ngForで編集。私はいつもログを取得するので、 –

+0

あなたは何を意味するか分かりません。デモをするためにプランナーを更新できますか? –

+0

私はプライベートAPIを呼び出すので私は傾けることができます私はここでそれを説明しようとします。だから私はAPIから取得し、(loadmetada)関数を呼び出すときngForでそれをリストするビデオのリストを持って、それは関数を無限に何度も呼び出します。どのように私はそれを一度呼び出すことができます期間を取得し、呼び出しを停止するより。 –