0
角度2のYouTubeプレーヤーサービスを作成しようとしています。 サービスは、次の2つのメソッドを提供する必要がありますTypescript - シーケンス内で非同期メソッドを呼び出す
- playRangeを - ビデオの指定した範囲を再生し、ビデオの特定の時間に最後のジャンプで。範囲は配列[start、end、returnTime]です。 指定された時刻にビデオを停止するには、ビデオの現在の位置を確認するためにsetIntervalを使う必要があります。これはメソッドを非同期にします。
- playScript - 範囲の配列であるスクリプトを再生します。したがって、基本的にシーケンス内の範囲はほとんど再生されません。
playRange実装:
playRange(range: any) {
if (this.player) {
console.log('Playing range:' + range)
const start: number = +range[0];
const end: number = +range[1];
const returnTime: number = range.lenth === 3 ? range[0] : range[2];
this.player.seekTo(start, true);
clearInterval(this._rangeTimer);
if (this.player.getPlayerState() !== YT.PlayerState.PLAYING) {
this.player.playVideo();
}
this._rangeTimer = setInterval(() => {
const currentTime = this.player.getCurrentTime();
if (currentTime >= end) {
this.pause();
clearInterval(this._rangeTimer);
this.player.seekTo(returnTime, true);
}
}, 200);
}
}
どのように私はplayScriptを実装する必要がありますので、私は範囲のシーケンスを反復処理し、それらを一つ一つを再生することができますか?