지금까지는 비디오 파일의 주소를 걸어놓고 사용자가 선택을 하면 재생되는 경우였다.
그런데 많은 웹사이트들에서 video id에서 실제 주소가 쉽게 변환되는 것이 아니고 한번 이상의 변환이 필요하게 된다. 이럴 때 선택하지 않은 비디오에 대해서도 변환하는 것은 시간낭비가 된다.
이럴 때 최종 함수에선 video id를 받아서 곧바로 비디오 재생에 들어가면 유용하다.
@plugin.route('/play/<video_id>')
def play_video(video_id):
title, video_url = translateVideoId(video_id)
plugin.play_video({'label':title, 'path':video_url})
만약 User-Agent나 Cookie를 지정해야 하면 xbmc에서는 URL에 '|User-Agent=XXX&Cookie=XXX'를 붙여서 dvd player에 넘겨준다.
앞 방법에서도 같은 방법을 쓰면 될 것으로 생각되나 실제로는 오동작을 보인다.
이럴 때는 다음과 같은 방법을 쓴다.
@plugin.route('/play/<video_id>')
def play_video(video_id):
title, video_url = translateVideoId(video_id)
from xbmcswift2 import xbmc, xbmcgui
li = xbmcgui.ListItem(title, iconImage="defaultVideo.png")
li.setInfo('video', {"Title": title})
xbmc.Player().play(video_url, li)
return plugin.finish(None, succeeded=False)
plugin.finish()에서 suceeded를 False로 지정해야 비디오 재생이 끝난 후 자동으로 원래 페이지로 돌아온다.
'컴퓨터' 카테고리의 다른 글
XBMC 플러그인 만들기 - 8강: 메뉴 추가 (0) | 2015.04.02 |
---|---|
XBMC 플러그인 만들기 - 7강: 언어와 설정 불러오기 (0) | 2015.04.02 |
XBMC 플러그인 만들기 - 5강: 페이지 만들기 (0) | 2015.04.02 |
XBMC 플러그인 만들기 - 4강: 트리 만들기 (0) | 2015.03.27 |