۱۳۹۰/۰۷/۰۷

چند نكته در مورد WPF MediaElement و ويندوز XP


WPF MediaElement به صورت پيش فرض در ويندوز XP كار نمي‌كند؛ مگر اينكه حتما آخرين نگارش موجود Windows Media Player بر روي سيستم نصب شده باشد و حداقل نياز به نگارش 10 به بعد را دارد.
اگر اين نگارش نصب نباشد يا هر خطاي ديگري رخ دهد، آن‌را مي‌توان از طريق روال رويداد گردان MediaFailed بدست آورد.
اگر نگارش بتاي مدياپلير 11 بر روي سيستم نصب باشد، با پيغام نه چندان آشناي "insufficient memory" مواجه خواهيد شد و اهميتي هم ندارد كه سيستم در حال حاضر به چه ميزان حافظه‌ي مهيا دسترسي دارد.
و كلا هر آنچه را كه Windows Media Player بتواند پخش كند، WPF MediaElement نيز قادر به پخش آن‌ها خواهد بود. براي فرمت‌هاي ناشناخته و جديد بايد Codec مخصوص آن‌ها در سيستم نصب شده باشد.

راه حل بهتر، استفاده از پروژه‌ي ديگري است به نام WPF Media Kit. اين پروژه، هر آنچه را كه بتوان توسط برنامه GraphEdit پخش كرد، مي‌تواند نمايش دهد.

استفاده از WPF MediaElement به كمك الگوي MVVM درد بزرگي است؛ چون آنچنان از Binding و Commanding پشتيباني نمي‌كند.