예제 #1
0
파일: JRiverAPI.cs 프로젝트: zybexXL/Zelda
 public void Disconnect()
 {
     if (jr != null)
     {
         Marshal.FinalReleaseComObject(jr);
     }
     jr = null;
 }
예제 #2
0
파일: JRiverAPI.cs 프로젝트: zybexXL/Zelda
        public bool Connect()
        {
            Logger.Log("Connecting to JRiver");
            Connected = CheckConnection();
            if (Connected)
            {
                return(true);
            }

            try
            {
                // connect to existing instance
                Logger.Log("Connect: getting existing MediaCenter instance");
                jr        = (IMJAutomation)Marshal.GetActiveObject("MediaJukebox Application");
                Connected = CheckConnection();
                if (Connected)
                {
                    return(true);
                }
                else
                {
                    Logger.Log("Connect to existing instance failed!");
                }
            }
            catch { Logger.Log("JRiverAPI.Connect() - MediaCenter is probably not running"); }

            try
            {
                Logger.Log("Connect: creating new MediaCenter instance");
                jr        = new MCAutomation();
                Connected = CheckConnection();
                if (!Connected)
                {
                    Logger.Log("Connect via MCAutomation object failed!");
                }
            }
            catch (Exception ex) { Logger.Log(ex, "JRiverAPI.Connect() - failed to create new instance"); }
            return(Connected);
        }