在Win Media Center 7中获取录制状态

时间:2010-01-08 21:11:50

标签: windows windows-7 mediacenter

我正在使用带有Windows 7 Media Center的Hauppauge HD-PVR(使用DVBLink连接它们)。我想编写一个小应用程序来检查系统当前是否正在录制,如果没有执行某些操作。我使用哪些课程来获得此状态?我已经阅读了文档,但解决方案对我来说并不是很明显。

1 个答案:

答案 0 :(得分: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,它允许您监视特定事件。

希望这会有所帮助......如果我可以提供更多帮助,请大声说出来......