Youtube 영상 불러오기

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 은지짱
      참가자
      • 글작성 : 13
      • 답글작성 : 7

      Youtube Player

      Video Class

      class Video {
      var Key:String = ""
      var Title:String = ""
      }
      

      유튜브 영상 링크에서 영상의 key값을 불러올 수 있다.

      var videos:[Video] = []
      
      let video1 = Video()
      video1.Key = "Cm84D_sFxHs"
      video1.Title = "머리 싸매고.. 부부의세계 3,4,5,6화 리뷰 [박막례 할머니]"
      videos.append(video1)
      
      let video2 = Video()
      video2.Key = "aGXq_CkBvOw"
      video2.Title = "드디어.. 부부의 세계 정주행 시작.. [박막례 할머니]"
      videos.append(video2)
      
      let video3 = Video()
      video3.Key = "5EdieXc3rnQ"
      video3.Title = "국물이 끝내주는 국물떡볶이 레시피 [박막례 할머니]"
      videos.append(video3)
      

      원하는 영상의 Key값과 title을 가져와 videos 배열에 append 해 주었다.

       

      Load Youtube Image

      https://img.youtube.com/vi/[videoKey]/0.jpg
      

      videoKey 만 있으면 위 주소로 영상 썸네일 이미지 링크를 불러올 수 있다.


      func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { ... let urlString = "https://img.youtube.com/vi/\(videos[indexPath.row].Key)/0.jpg" let fileURL = URL(string: urlString) cell.videoImage.kf.setImage(with: fileURL) ... }

      kingfisher 라이브러리를 사용해 url주소로 썸네일 이미지를 load 했다.

       

      Load Youtube Video

      ViewController 에 webView 를 추가한다.

      https://www.youtube.com/embed/[videoKey]
      

      위 주소에 원하는 videoKey 를 넣으면 영상을 불러올 수 있다.

      @IBOutlet weak var videoWebView: UIWebView!
      
      ...
      
      func getVideo(videoKey:String){
      guard let url = URL(string: "https://www.youtube.com/embed/\(videoKey)") else { return }
      videoWebView.loadRequest(URLRequest(url: url))
      }
      

      getVideo 함수를 사용해 유튜브 영상을 불러온다

       

      실행 화면

       

    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 580

      Swift에서는 타입이름 외에는 소문자 카멜케이스를 사용하는 것이 통상적인 규칙입니다.
      따라서 Video라는 이름은 클래스(타입)의 이름으로 적절하지만, KeyTitle은 타입이름이 아니므로 소문자 카멜케이스를 쓰는 것이 좋을것 같습니다.

      또, 코드 곳곳에 띄어쓰기가 통일되어있지 못한 것이 보입니다. 띄어쓰기도 꽤 중요한 문법요소 중 하나입니다.

      func getVideo(videoKey:String) 코드만 타입 앞에 띄어쓰기 안되어있네요.
      또, get은 필요한 동사가 아니므로 사용을 지양하는것이 좋습니다.

      func video(withKey key: String) 정도의 이름은 어떨까요? 🙂

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom