0

Windows Media Center プラグインでは、PlayMedia API を使用してビデオを再生します。これは、動画を再生するために MS によって文書化された API であり、SDK に文書化されています。

例えば。

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

Vista では、一貫して、この呼び出しの後、AddInHost.Current.MediaCenterEnvironment.MediaExperience でメディア エクスペリエンスの準備が整います。

ただし、Window 7 では少し不安定で、MediaExperience は一定の時間または特定のランダムなアクションの後にララランドに移動するようです。

Windows 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 に答える