Open shari-sushi opened 11 months ago
もう1年半も開発してないっぽい(最終が'22年7月)
より活発でstarが多い、react-playerなるものがあった。 こっちに乗り換えるか検討。#26
型エラーどうしたら良いか分からなかったからとりあえずanyにして試験してたけど、
ポートフォリオの自分の履歴が助けてくれた。はっぴー。
npm install @types/youtube --save-dev
youtube urlの 特性メモ
そもそも過去に同じ問題に1回ぶつかって、解消してたよなっていう。 問題なかった頃↓
過去のコミット(10/16, 10/21, 11月の3つ)のコードを取得して動作確認したが、全てにおいて同様の現象が見られた。 よって、コード外に原因がある可能性が高まった。
これで時間セット(かつ自動再生開始)できる。
ただ、event.target.seekTo(this.props.time);
の有無は挙動に影響しない
なのに、onRaedyそのものをコメントアウトすると時間セットできなくなる謎
onReady = (event: { target: any }) => {
this.setState({
player: event.target,
});
event.target.playVideo();
// event.target.seekTo(this.props.time);
};
componentDidUpdate(prevProps: YouTubePlayerProps) {
と
changeTime = (time: number) => {
の両方にthis.state.player.seekTo(time);
が無いと、動画再生中に時間セット(操作)
できない。
謎仕様…
``` import React, { useContext, useEffect, useState, createContext } from "react" import Link from "next/link" export default function Home() { const [videoId, setVideoId] = useState("2T4kKYAJrAM") const [start, setStart] = useState(0); console.log(start) const settinghandler = () => { setVideoId("wBjhxyFU3EY") setStart(30) } return ( <> Home
妥協案1 単純なdelay(上述)
妥協案2 現状のurlを確認し、 ①同じならseekTo ➁違うなら動画遷移→onReadyでdelay(短め)→seekTo
2の方が快適な気がする ↓ 2は無理だった
react-youtubegit.hub
startパラメーターを操作しても動画の再生開始時間が別のものに上書きされる。 このままではこのコンポーネントを使っている意味がない。
※startパラメーターについて YouTube:IFrame Player API YouTube 埋め込みプレーヤーとプレーヤーのパラメータ