0

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

4

1 回答 1

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,我将其包括在内是为了说明这一点,这样您就不会被它返回的 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 允许您监视特定事件。

希望这会有所帮助....大声喊我是否可以提供更多帮助...

于 2010-02-13T17:06:12.020 回答