위의 페이지는 방송을 시청하는 쪽 페이지입니다. 통신쪽 소스코드와 다른 점은 remoteVideo만 태그 정의가 되어있다는 점이고 config에 recvonly 필드가 추가되어 있다는 점입니다.
한가지 특이한 점은 remon.search() 메소드를 통해 현재 방송중인 방 정보를 질의한다는 점입니다. 현재는 RemoteMonster의 공용 id인 SERVICEID1으로 접근하고 있지만 별도로 id를 발급받으면 별도의 id로 독립적인 서비스 안에서의 방 목록을 받을 수 있을 것입니다.
Listener의 onSearch 메소드를 통해서 search메소드의 결과를 받을 수 있습니다. 이 정보를 통해서 해당 방에 접근할 수 있겠죠.
방을 시청하는 메소드는 remon.joinRoom입니다. 이를 통해서 removeView는 시청 내용을 출력합니다.
Callback 이벤트 처리기 사용하기
Remon은 수많은 일들을 내부적으로 Remote Monster의 서버와 작업하게 됩니다. 때로는 네트워크 상황이 안좋아서 연결이 안될 수도 있고 특별한 이벤트는 귀기울여 수신해야할 필요도 있습니다. 때문에 Remon은 콜백 이벤트 처리기, Listener를 제공하여 이를 통해 다양한 정보를 개발자가 얻을 수 있도록 하고 있습니다.
constlistener= {onInit(token) { ... },onCreateChannel(channelId) { ... },onConnectChannel(channelId) { ... },onComplete() { ... },onAddLocalStream(stream) { ... },onAddRemoteStream(stream) { ... },// 상대 영상이 들어왔을 때 처음 발생합니다onStateChange(state) { ... },onDisconnectChannel(who) { ... },// 방을 시청중일 때 방이 종료되면 발생합니다onError(error) { ... },// 에러 정보를 반환합니다.onStat(result) { ... },// 방의 품질을 매 5초마다 반환합니다onSearch(result) { ... },// 검색 결과를 반환합니다};