0

在我们的 windows 媒体中心插件中,我们使用 PlayMedia api 来播放视频。这是 MS 记录的用于播放视频的 API,并记录在 SDK 中。

例如。

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

在 Vista 中,始终如一地,在此调用之后,我们在以下位置为我们准备好了媒体体验:AddInHost.Current.MediaCenterEnvironment.MediaExperience

然而,在 Window 7 中,事情有点不稳定,似乎 MediaExperience 在经过一定时间或某些随机动作后会进入 la-la 土地。

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

是否有任何变通方法可以让这个 API 100% 地始终如一地工作。

似乎远程通道刚刚死掉或什么的。

4

1 回答 1

0

如果另一个可怜的灵魂有这个问题,这里有一个 win 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);
                }

            }
于 2010-01-28T07:10:47.350 回答