Windows Media Center의 플러그인에서 비디오를 재생할 때 Null Media Experienk

StackOverflow https://stackoverflow.com/questions/1927782

  •  20-09-2019
  •  | 
  •  

문제

Windows Media Center 플러그인에서는 PlayMedia API를 사용하여 비디오를 재생합니다. 이것은 비디오 재생을 위해 MS의 문서화 된 API이며 SDK에 문서화되어 있습니다.

예를 들어.

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

Vista에서 일관되게,이 호출 후에 우리는 미디어 경험이 있습니다.

그러나 창에서 7 가지가 조금 더 있습니다 이상한 사람 그리고 MediaExperience는 일정 시간 또는 특정 임의의 행동 후에 La-La 토지로가는 것으로 보입니다.

Window 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