在我们的Windows Media Center的插件,我们使用PlayMedia API来播放影片。这是由MS的记录的API用于播放视频并在SDK被记录。

例如

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

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

然而,在窗7的东西是一个比较的不稳定的并被似乎MediaExperience进入腊腊土地一定量的时间或某些随机动作之后。

我如何始终如一地播放视频和全屏显示在视窗7?

是否有任何变通办法来得到这个API的工作时始终为100%。

看来远程通道刚死亡或东西。

有帮助吗?

解决方案

在另一种情况下的可怜的灵魂有这个问题,这里是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);
                }

            }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top