从在Windows Media Center插件播放视频时的空媒体体验
-
20-09-2019 - |
题
在我们的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);
}
}
不隶属于 StackOverflow