تجربة وسائط فارغة عند تشغيل مقاطع الفيديو من مكون إضافي في Windows Media Center

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

  •  20-09-2019
  •  | 
  •  

سؤال

في المكون الإضافي لـ Windows Media Center، نستخدم واجهة برمجة تطبيقات PlayMedia لتشغيل مقاطع الفيديو.هذه هي واجهة برمجة التطبيقات الموثقة بواسطة MS لتشغيل مقاطع الفيديو وهي موثقة في SDK.

على سبيل المثال.

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

في نظام التشغيل Vista، باستمرار، بعد هذه المكالمة، لدينا تجربة إعلامية جاهزة لنا في:AddInHost.Current.MediaCenterEnvironment.MediaExperience

ولكن في Windows 7 تكون الأشياء أكثر قليلاً غير منتظم ويبدو أن MediaExperience يذهب إلى الأرض بعد فترة معينة من الوقت أو بعض الإجراءات العشوائية.

كيف يمكنني تشغيل مقطع فيديو باستمرار والانتقال إلى وضع ملء الشاشة في نظام التشغيل Windows 7؟

هل هناك أي حلول لجعل واجهة برمجة التطبيقات هذه تعمل بشكل متسق بنسبة 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