2009-12-18 70 views
0

在我们的Windows媒体中心插件中,我们使用PlayMedia API来播放视频。这是MS记录的用于播放视频的API,并记录在SDK中。在Windows Media Center中从插件播放视频时的空媒体体验

例如,

AddInHost.Current.MediaCenterEnvironment.PlayMedia(Microsoft.MediaCenter.MediaType.Video, path, false) 

在Vista中,始终如一,这个电话之后,我们有一个媒体的经验为我们准备好: AddInHost.Current.MediaCenterEnvironment.MediaExperience

然而,在微软Windows 7的东西有点多不稳定和似乎MediaExperience经过一段时间或某些随机动作后才会出现在la-la。

如何始终播放视频并在Window 7中全屏显示?

是否有任何解决方法可以使此API在100%的时间内始终如一地工作。

似乎远程处理渠道只是死或什么的。

回答

0

如果是另一个可怜的灵魂有这个问题,这里是一个解决方法赢得7,MS解决这个问题真的很慢。

 var mce = AddInHost.Current.MediaCenterEnvironment.MediaExperience; 

     // great window 7 has bugs, lets see if we can work around them 
     if (mce == null) { 
      System.Threading.Thread.Sleep(200); 
      mce = AddInHost.Current.MediaCenterEnvironment.MediaExperience; 
      if (mce == null) { 
       try { 
        var fi = AddInHost.Current.MediaCenterEnvironment.GetType() 
         .GetField("_checkedMediaExperience", BindingFlags.NonPublic | BindingFlags.Instance); 
        if (fi != null) { 
         fi.SetValue(AddInHost.Current.MediaCenterEnvironment, false); 
         mce = AddInHost.Current.MediaCenterEnvironment.MediaExperience; 
        } 

       } catch (Exception e) { 
        // give up ... I do not know what to do 
        Logger.ReportException("AddInHost.Current.MediaCenterEnvironment.MediaExperience is null", e); 
       } 

      } 
相关问题