VOD 보기
1. 화면 구성하기
라이브 화면을 보기 위한 UIView를 구성합니다.
2. VOD를 보기 위한 인스턴스 생성
VOD를 보려면 VOD를 보기위한 인스턴스를 생성해야 합니다.
// 플레이어 객체 생성// video 비디오 리스트를 통해 얻어올 수 있습니다.let player = sdk.getPlayer(video_key: video.video_key)
VOD를 보기위한 인스턴스를 얻으려면 Video 객체를 파라메터로 넣어주어야 합니다. 이를 위해 SDK에서는 라이브 리스트를 가져오기 위한 함수를 제공하고 있습니다. 사용 방법은 아래와 같습니다.
sdk.getVideos(page: 0, size: 0, state: "VOD") { (videoResult) inswitch videoResult {case .failure(let error):// errorcase .success(let videos):// handle video list}}
getVideos에 사용할 수 있는 파라메터는 다음과 같습니다.
필드 | 설명 |
---|---|
page | 가져올 동영상의 페이지 번호 |
size | 가져올 동영상의 개수 |
userID | 사용자 ID. 지정 사용자의 동영상만 가져오고 싶을 때 사용 |
type | 동영상의 타입. (BROADCASTED : 라이브를 진행했거나 진행중인 동영상, UPLOADED : 라이브가 아닌 업로드한 동영상) |
state | 동영상의 상태. (LIVE : 현재 라이브 중인 동영상, VOD : VOD로 볼 수 있는 동영상) |
플레이어의 상태를 알고 싶으면 FFPlayerDelegate를 연결해줍니다.
// 상태 리스너를 연결합니다.player.delegate = selfextension PlayerViewController: FFPlayerDelegate {// 관련 함수를 구현합니다.}
FFPlayerDelegate의 함수는 다음과 같습니다.
함수 | 설명 |
---|---|
onPrepared | 동영상을 볼 준비가 되었음을 알려줍니다. prepare 함수 실행이 정상적으로 이루어지면 호출됩니다. |
onStarted | 동영상을 볼 수 있을 때 호출됩니다. |
onChatMessageReceived | 채팅 메시지가 들어오면 호출됩니다. |
onChatStatReceived | 채팅 관련 통계 정보가 들어오면 호출됩니다. |
onStopped | 동영상이 중단되면 호출됩니다. |
omCompleted | 동영상이 끝난 경우 호출됩니다. |
onSeek | 동영상이 지정 시간으로 이동한 경우에 호출됩니다. |
onError | 동영상을 보는 중 에러가 발생하면 호출됩니다. |
3. 채팅 보기
이전에 라이브중일 때 사용자들이 주고 받은 채팅 메시지를 볼 수 있습니다.
라이브중에 사용자들이 보낸 채팅 메시지가 FFPlayerDelegate의 onChatMessageReceived 리스너로 들어옵니다. 이 함수 안에서 받은 메시지에 대한 처리를 합니다.
override fun onChatMessageReceived(item: FFMessage) {// 받은 메시지 처리}