2010-01-08 47 views
0

我在Windows 7 Media Center上使用Hauppauge HD-PVR(使用DVBLink连接它们)。我想编写一个小应用程序来检查系统是否正在记录,如果不执行某些操作。我使用哪些类来获得这种状态?我已阅读文档,但解决方案对我而言并不明显。在Win Media Center中获取录制状态7

回答

0

您可以使用此: 在命名空间Microsoft.MediaCenter.Samples.MediaState.MediaState

(MediaState) ms=new MediaState(); 

ms.Connect(); 

if(ms.Active == true) { 
    Console.Writeline("MediaState Active"); 
} 
else { 
    Console.Writeline("MediaState NOT Active"); 
} 

需要注意的是,这将总是返回,即使它的工作原理假的,我已经包括了这提出这一点,所以你不得到挂在其返回false,而不是进行.... ;-)

再用钢丝了响应事件

ms.OnMSASEvent += new MSASEventHandler(ms_OnMSASEvent); 


private void ms_OnMSASEvent(object state, MediaStatusEventArgs args) 
     { 
    MediaState typedState = (MediaState) state; 

    string _Out = "  " + args.Session.ToString() + " " +  args.SessionID.ToString() + " " + args.Tag.ToString() + args.Value.ToString(); 

    Console.Writeline(_Out); 
     } 

这将显示媒体中心发生的所有事件。

还有更具体的事件。在同一个类中有一个名称空间TVRECORDING,它允许您监视特定的事件。

希望这会有所帮助....如果我可以帮助更多...呼吁

+0

嗨,这是否帮助你? – JohnnyJP 2010-06-07 10:38:50

+0

如果这回答你的问题,请标记为这样,因为这会鼓励其他人花费你的时间来帮助你...谢谢.. – JohnnyJP 2010-11-28 21:40:21