Windowsメディアセンターでのプラグインからビデオを再生ヌルメディア体験

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

  •  20-09-2019
  •  | 
  •  

質問

私たちのWindowsメディアセンタープラグインでは、ビデオを再生するにはPlayMedia APIを使用します。これは、ビデオを再生し、SDKに記載されてのためにMSによって文書化されたAPIです。

例:ます。

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

Vistaでは、一貫して、この呼び出しの後、私たちは中に私たちのために準備ができて、メディアの経験を持っています: AddInHost.Current.MediaCenterEnvironment.MediaExperience

しかしウィンドウで7のものは、もう少しの不安定なのですMediaExperienceは、時間または特定のランダムなアクションの一定量の後にラ・ラ・ランドに行くものと思われます。

どのように私は一貫して、ビデオを再生し、ウィンドウ7でフルスクリーンで行くのですか?

このAPIは、時間の一貫100%動作するように取得する任意の回避策があります。

リモートチャネルがちょうど死ぬか何かと思われます。

役に立ちましたか?

解決

の別の貧しい魂はここに、この問題を持って勝利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