간만에 SwiftUI로 돌아왔습니다..
SwiftUI 상에서 YoutubePlayer를 적용할수 있는 라이브러리를 찾아 소개 드립니다.
1. 라이브러리 추가
1-1. Xcode File -> Add Packages.. 클릭
1-2. 우측 상단에 해당 URL 를 입력후 Add Package
https://github.com/SvenTiigi/YouTubePlayerKit.git
2. 소스 추가
import SwiftUI
import YouTubePlayerKit
struct ContentView: View {
var youtubeId = [ YouTubePlayer(stringLiteral: "https://www.youtube.com/watch?v=w87fOAG8fjk"),
YouTubePlayer(stringLiteral: "https://www.youtube.com/watch?v=_p8AsQhaVKI"),
YouTubePlayer(stringLiteral: "https://www.youtube.com/watch?v=n5jXg_NNiCA"),
YouTubePlayer(stringLiteral: "https://www.youtube.com/watch?v=oaqHdULqet0"),
YouTubePlayer(stringLiteral: "https://www.youtube.com/watch?v=UThGcWBIMpU")
]
var body: some View {
VStack(spacing: 10) {
ScrollView {
ForEach(Array(youtubeId.enumerated()), id: \.offset) {
indea, item in
Button(
action: {
for i in 0..<youtubeId.count {
if item != youtubeId[i] {
youtubeId[i].pause()
}
}
}, label: {
YouTubePlayerView(item)
.frame(width: 200, height: 200)
})
}
}
}
}
}
이렇게 간단한 코드로 5개의 뷰를 만들었습니다, 해당 뷰에서 영상이 겹쳐서 재생 될수 있기 때문에 정지하는 로직을 추가합니다.
해당 영상을 틀고 modal 로 덮어 씌울경우에 영상이 계속 켜지기 때문에 처리시에 해당 영상을 Stop 처리 해야 합니다.
아래의 URL상에 더 많은 내용이 있습니다!
참고
https://github.com/SvenTiigi/YouTubePlayerKit
'IOS' 카테고리의 다른 글
Xcode 관련 오류를 쌓아보자. (0) | 2021.12.26 |
---|---|
Swift - Firebase Dynamic Link (0) | 2021.11.27 |
Swift - TextView PlaceHolder (0) | 2021.08.26 |
Swift - Combine VS RxSwift (0) | 2021.08.21 |
Swift - UITableView + ListClick (0) | 2021.08.13 |