我正在使用带有Windows 7 Media Center的Hauppauge HD-PVR(使用DVBLink连接它们)。我想编写一个小应用程序来检查系统当前是否正在录制,如果没有执行某些操作。我使用哪些课程来获得此状态?我已经阅读了文档,但解决方案对我来说并不是很明显。
答案 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,它允许您监视特定事件。
希望这会有所帮助......如果我可以提供更多帮助,请大声说出来......