Esempio n. 1
0
        public Task <KodiPlayerInfo> Play(string url)
        {
            return(Task.Run(async() =>
            {
                try
                {
                    if (!url.StartsWith("http") && File.Exists(url))
                    {
                        url = System.Web.HttpUtility.UrlEncode(url);
                        url = "http://" + HTTP_Stream_Server.GetLocalIPAddress() + ":" + StreamPort + "/" + url;
                    }
                    var jsonrpc = new KodiJSON()
                    {
                        Id = 1,
                        Jsonrpc = "2.0",
                        Method = "Player.Open",
                        Params = new KodiJSON.Kodi_Params()
                        {
                            Properties = null, PlayerID = null, Item = new KodiJSON.Kodi_Item {
                                File = url
                            }
                        }
                    };

                    var raw = sendJson(jsonrpc);
                    var obj = Newtonsoft.Json.Linq.JObject.Parse(raw);
                    if (obj.Value <string>("result").Equals("OK"))
                    {
                        return await GetProperties();
                    }
                    else
                    {
                        PlayerInfo.Status = KodiPlayerStatus.Stopped;
                        return PlayerInfo;
                    }
                }
                catch (Exception x)
                {
                    System.Windows.Forms.MessageBox.Show(x.ToString());
                }
                PlayerInfo.Status = KodiPlayerStatus.Error;
                return PlayerInfo;
            }));
        }
Esempio n. 2
0
 public Kodi()
 {
     StreamPort = new Random().Next(8200, 9999);
     server     = new HTTP_Stream_Server(StreamPort);
     server.Start();
 }