Media Player в Visual Studio 2010, част 2, Иван Андреев - блог

Разработване на игри с помощта на XNA, MonoGame и Unity3D Blog

Използване на кода

Създаване на проект

Първо трябва да създадете нов проект.

media

Плейърът трябва да бъде поставен във всеки прозорец на източника в Visual Stidio, така че трябва да изберете проект на Editor Margin от менюто Extensibility. Кръстих проекта „InternetRadioPlayer“. Веднага след създаването на проекта в Solution Explorer можете да видите няколко файла, генерирани от Visual Studio.

Файловете от най-голям интерес за нас са InternetRadioPlayer.cs и InternetRadioPlayerFactory.cs. InternetRadioPlayerFactory.cs е фабрика, която създава нашия контрол за всяка страница с код в Visual Studio. Файлът съдържа следния код:

#region InternetRadioPlayer Factory

/// Експортиране на, което връща екземпляр на полето за редактора

[Order (After = PredefinedMarginNames.HorizontalScrollBar)] // Уверете се, че полето се намира под хоризонталната лента за превъртане

[MarginContainer (PredefinedMarginNames.Bottom)] // Задайте контейнера в долната част на прозореца на редактора

[ContentType („text“)] // Показване на това поле за всички текстови типове

вътрешен запечатан клас MarginFactory: IWpfTextViewMarginProvider

публичен IWpfTextViewMargin CreateMargin (IWpfTextViewHost textViewHost, IWpfTextViewMargin containerMargin)

върнете нов InternetRadioPlayer (textViewHost.TextView);

Няма да променя този файл, но ще поставя целия полезен код в InternetRadioPlayer.cs. Но първо трябва да създадем клас за играча (плейъра) и контрол за плейъра, който след това ще бъде поставен на страниците с кода.

Клас на играч

Класът на плейъра ще отговаря за възпроизвеждането на музика (можете да познаете по името). Той все още няма нищо общо с контролите.

Отначало се опитах да намеря добра библиотека за работа със звук, но не можах да намеря нищо просто и леко. В крайна сметка реших да използвам най-простото решение - използвам стандартния WPF контрол - MediaElement. Може да играе почти всичко (поне това, което Window Media Player може да играе, доколкото разбирам).