Asp.NET MVC 4.0 – Video Nesnesi
Asp.NET MVC mimarisi, Microsoft Web Helpers kütüphanesi eşliğinde güzel bir nesneyle daha kullanışlı hale geliyor.Video nesnesi sayesinde projelerimizde ister localde istersekte başka bir sunucuda barındırılan Multimedya dosyalarını yayınlayabiliyoruz.
Video nesnesini kullanabilmeniz için Microsoft Web Helpers kütüphanesini projenize entegre etmelisiniz.Bu işlem için öncelikle Asp.NET MVC – Microsoft Web Helpers Paketi Yüklenmesi başlıklı yazımı okuyunuz.
Bu nesnenin desteklediği 3 adet player mevcuttur.Bunlar “Flash“,”MediaPlayer” ve “SilverLight” formatlarıdır.
Flash
Bu player sayesinde .swf uzantılı Multimedya dosyalarını görüntüleyebilir ve oynatabiliriz.
Prototipi aşağıdaki gibidir.
@Video.Flash(
string path,
string width,
string height,
bool play,
bool loop,
bool menu,
string bgColor,
string quality,
string scale,
string windowMode,
string baseUrl,
string version,
object options,
object htmlAttributes,
string embedName)
Parametrelerden bahsedelim.
path : Multimedya dosyasının yolunu belirtiriz.
width : Video oynatıcısının panel genişliği ayarlanır.
height : Video oynatıcısının panel yüksekliği ayarlanır.
play : Video otomatik olarak başlayıp başlamayacağını ayarlarız.
loop : Video sürekli olarak oynayıp oynamayacağını belirleriz.
menu : Video oynatma ayarlarının bulunduğu sağ click(mause ile) menüsünün görüntülenip görüntülenmemesini belileriz.
bgColor : Video oynatıcı uygulamasının zemin rengini belirleriz.
quality : Video kalitesini belirleriz.”low“, “autolow“, “autohigh“, “medium“, “high” ve “best” değerlerini alır.
scale : Video boyutunu ayarlar.Şu değerleri alır;
- exactfit : Kaynak olarak verilen videonun içeriği, orjinal en boy orantısı bozulmadan gösterilir.Ancak video içeriği bozuk görünebilir.
- showall : Orjinal en boy oranı korunurken, videonun tamamı görüntülenir.Ancak video oynatıcı video içeriğinin her bir kenarında video sınırlarnı gösterir.
- noorder : Orjinal en boy oranı korunurken, video kenarlarında kırpılmalar olabilir.
windowMode : Video oynatıcısının görünümünü belirleriz.”transparent“,”window” ve “opaque” değerlerini alabilir.
baseUrl : Eğer Flash dosyamız Localde değil de uzaktaki bir serverdaysa URL yapısını bu parametreye belirleyebiliriz.
version : Flash sürümü.
options : Flash html nesnesine parametre aktarmak için kullanılır.
htmlAtributes : Oluşturulacak olan Flash html nesnesi ile ilgili html nitelikleri belirtir.
embedName : Oluşturulacak olan Flash html nesnesi , video html referansı içerdiğinde kullanılan embed html öğesi için bir isim belirtir.
Şimdi Flash için bir örneklendirme yapalım.MVC projemizdeki “Content” klasörüne bir .swf uzantılı dosya atıyoruz.Controller katmanımızda “Home(Controller).cs” isminde bir Controller sınıfı oluşturalım ve “Index” isimli ActionResult tipinden olan metodun View katmanındaki görüntüsünü oluşturalım.Bu görüntünün kaynak kodlarını aşağıdaki gibi kurcalayalım.
@using Microsoft.Web.Helpers @Video.Flash(path: "~/Content/11-02.swf", width: "500", height: "500")
Projeyi derleyip çalıştırdığımızda aşağıdaki ekran görüntüsüyle karşılaşacağız.

Bu örneklendirmedeyi diğer parametreleri kullanarak genişletebilirsiniz.
MediaPlayer
Bu player sayesinde .wmv uzantılı Multimedya dosyalarını görüntüleyebilir ve oynatabiliriz.
Prototipi aşağıdaki gibidir.
@Video.MediaPlayer(
string path,
string width,
string height,
bool autoStart,
int playCount,
string uiMode,
bool stretchToFit,
bool enableContextMenu,
bool mute,
int volume,
string baseUrl,
object options,
object htmlAttributes,
string embedName);
autoStart : Videonun otomatik olarak başlayıp başlamayacağını belirleriz.
playCount : Videonun kaç defa tekrarlanacağı belirlenir.
uiMode : Video oynatıcı arabiriminde hangi kontrollerin görüntüleneceğini belileriz.”invisible“, “none“, “mini” ve “full” değerlerini almaktadır.
- invisible : Video ve video oynatma kontrolleri gözükmemekte, yalnızca ses çalınmaktadır.
- none : Video oynatma kontrolleri olmadan video oynatır.
- mini : Sonraki – Önceki ve İleri – Geri sarma butonları olmadan diğer video oynatma kontolleri görüntülenecektir.
- full : Tüm video oynatma kontrolleri görüntülenecektir.
stretchToFit : Videonun belirtilen genişlik ve yükseklik değerlerine sığdırılıp sığdırılmayacağı belirlenir.
enableContextMenu : Video oynatma ayarlarının bulunduğu sağ fare menüsünün görüntülenip görüntülenmeyeceği belirlenir.
mute : Video sessiz olarak oynatılması için “true“, belirtilen bir değerde sesli oynatım yapılması için ise “false” değeri kullanılır.
volume : Video ses seviyesi belirlenir.0 – 100 arası değer almaktadır.
Şimdi de MediaPlayer için bir örneklendirme yapalım.MVC projemizdeki Contect klasörüne “.wmv” uzantılı bir video dosyası yükleyelim.”Home(Controller).cs” isimli Controller sınıfımızda bulunan “Index” isimli ActionResult tipli metodun View görüntüsüne aşağıdaki kodları yerleştirelim.
@using Microsoft.Web.Helpers @Video.MediaPlayer(path:"~/Content/Clip_1080_5sec_VC1_15mbps.wmv")
Ekran görüntüsü aşağıdaki gibi olacaktır.

SilverLight
Bu player sayesinde SilverLight tabanlı Multimedya dosyalarını görüntüleyebilir ve oynatabiliriz.
Prototipi aşağıdaki gibidir.
@Video.Silverlight( string path, string width, string height, string bgColor, string initParameters, string minimumVersion, bool autoUpgrade, object options, object htmlAttributes)
Bazı parametrelerinden bahsedelim.
initParameters : Silverlight tabanlı .xap uzantılı dosyaya parametre aktarmak için kullanırız.
minimumVersion : Kaynak olarak belirtilen MultiMedya dosyasını oynatmak için gerekli olan en düşük SilverLight plugin versiyonunu belirtiriz.
autoUpgrade : SilverLight plugin’in yeni versiyonu çıktığı zaman otomatik olarak güncellenip güncellenmeyeceğini belirtir.
Şimdi SilverLight ile ilgili bir örnek yapalım.
@using Microsoft.Web.Helpers @Video.Silverlight(path: "~/Content/SilverLightKaynak.xap", autoUpgrade: true, width: "400", height: "400")
Görsel bir numuneye ihtiyaç lüzumu görmüyorum.
Zaten makalemizin sonunada gelmiş olduk.Artık Asp.NET MVC mimarisiyle oluşturduğunuz projelerinizde Video nesnesini kullanarak MultiMedya desteği verebilirsiniz.
Faydalanmanız dileğiyle..
Sonraki yazılarımda görüşmek üzere..
İyi çalışmalar…

Merhaba Hocam,
bir kullanıcının videoyu izleyip izlemediğini, izlediyse ne kadar süresini izlediğini,
buna göre sınav sorularının açılmasını sağlamak için
bir çözüm var mıdır?
Merhaba,
Konuya dair herhangi bir bilgim bulunmamakta. Araştırılması gerekmektedir.