DaeBak 타임스탬프로 영상 이동 기능 구현
DaeBak 타임스탬프로 영상 이동 기능 구현
Script에서 타임스탬프를 누르면 해당 시간대로 유튜브 재생하는 기능을 추가
(자잘한 오류 찾고 수정하는데 6시간 걸렸다.. 이렇게 어려운 구현난이도는 아니였는데 .. ㅠㅠ)
TroubleShooting
테스트 과정에서는 스탬프 누르면 정상적으로 youtubeView 가 이동하는걸 볼 수 있지만 실제 적용시 작동하지 않음. 디버그에서 찍히는걸 봐선 다른 youtubeView를 조작하는것 같음
원인
DetailView 에서 YoutubeView , ScriptView를 합쳐지도록 구현해서 같은 객체를 참조하지 못하는 상태.
해결책 : DetailView에서 인스턴스 생성하고 하위 뷰에 뿌리기
1
2
3
4
5
6
7
8
9
10
11
12
13
struct DetailPage: View {
@StateObject private var youTubePlayer = YouTubePlayer("") // YouTubePlayer 인스턴스 생성
var body: some View {
VStack {
// YouTubePlayer 인스턴스를 YoutubeView에 전달
YoutubeView(youtubeURL: script.youtube_url, youTubePlayer: youTubePlayer)
// YouTubePlayer 인스턴스를 ScriptView에 전달
ScriptView(script: script, youTubePlayer: youTubePlayer)
}
}
}
정상적으로 작동!
This post is licensed under CC BY 4.0 by the author.


