KODI API V6 の サンプル

KODI API V6 JSON-RPC を使用して KODI をコントロールしたりライブラリ情報を取得するサンプル。リターンされたJSONをデシリアライズしてObjectに入れて参照する感じ。今のところVB.NETのクラスやメソッドは未作成。今後も作成しないと思う。

随時追加していく。

参考

 

ファイルパスを指定して再生する

Player.Open
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file":"smb://mediasv/movie01/MOVIE01/abc.mov"}},"id":1}

ファイルパスを指定してKODIライブラリに登録されているmovieidを取得する

VideoLibrary.GetMovies
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"VideoLibrary.GetMovies","params":{"filter":{ "and":[{ "field":"path","operator":"is","value":"smb://MEDIASV/MOVIE01/MOVIE01/" },{"field":"filename","operator":"is","value":"abc.mov"}]},"limits":{"start":0,"end":0},"properties":["file"]},"id":1}

KODIライブラリに登録されているmovieidが335を再生する

Player.Open
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Player.Open","id":1,"params":{"item":{"movieid":335}}}

現在再生中の作品を総再生時間の50%の位置で頭出しする

Player.Seek
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.Seek","params":{"playerid":1,"value":50.0}}

現在再生中の作品を再生時間が1時間の位置で頭出しする

Player.Seek
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.Seek","params":{"playerid":1,"value":{"hours":1}}}

現在再生中の作品を再生時間が1時間10分0秒の位置で頭出しする

Player.Seek
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.Seek","params":{"playerid":1,"value":{"hours":1,"milliseconds":0,"seconds":0,"minutes":10}}}

KODIのライブラリに登録されているmovieidが335の作品を再生時間が1時間30分30秒の位置に頭出しして再生する

Player.Open
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"movieid":335},"options":{"shuffled":null,"repeat":"off","resume":{"hours":1,"milliseconds":0,"seconds":30,"minutes":30}}},"id":1}

ファイルパスを指定して再生時間が1時間0分0秒の位置に頭出しして再生する

Player.Open
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file":"smb://mediasv/movie01/MOVIE01/abc.mov"},"options":{"shuffled":null,"repeat":"off","resume":{"hours":1,"milliseconds":0,"seconds":0,"minutes":0}}},"id":1}

KODIのライブラリに登録されているmovieidが335の作品を前回レジュームポイントから再生する

Player.Open
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"movieid":335},"options":{"shuffled":null,"repeat":"off","resume":true}},"id":1}

現在再生中の時間を取得する(hh:MM:ss:ddd)

Player.GetProperties
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.GetProperties","params":{"playerid":1,"properties":["time"]}}

現在再生中の作品の再生位置時間、ファイルタイプ、収録されている音声ストリーム、収録されている字幕を取得する

Player.GetProperties
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.GetProperties","params":{"playerid":1,"properties":["time","type","audiostreams","subtitles","totaltime"]}}

現在再生中のタイトル名を取得する

Player.GetItem
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.GetItem","params":{"playerid":1}}

現在再生中の作品のタイトル名、ファイルパス、公開年を取得する ※KODIライブラリのmovieidも返却オブジェクトの属性idで返却される

Player.GetItem
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.GetItem","params":{"playerid":1,"properties":["title","file","year"]}}}}

KODIライブラリのmovieidが1021のキャスト情報とファイルパスを取得する

VideoLibrary.GetMovieDetails
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"VideoLibrary.GetMovieDetails","params":{"movieid":1021,"properties":["cast","file"]},"id":1}

ファイルパスを指定してファイル名を取得する(フォルダ名を除外したファイル名のみ抽出)

Files.GetFileDetails
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Files.GetFileDetails","params":{"file":"smb://mediasv/movie01/MOVIE01/abc.mov"},"id":1}

ファイルパスを指定してファイルコンテナ情報を取得する

Files.GetDirectory
http://192.168.11.5:8080/jsonrpc?request={"jsonrpc":"2.0","method":"Files.GetDirectory","params":{"directory":"smb://mediasv/movie01/MOVIE01/abc.mkv"},"id":1}

コメント

このブログの人気の投稿

ダブルクォーテーションで括られたCSVカ​ンマ区切りテキストファイルを SQL Server で Bulk Insert する方法

PowerShellでTSV/CSVの列を絞り込んで抽出し、(先頭/行末)からN行出力する

IKEAの鏡を壁に取り付ける