Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


WİNDOWS MOBİLE 6.0 - CANLI TV/RADYO (Makale-1)

Yazar: Serkan Topkan

Kategori: Mobil Teknolojiler

Eklenme Tarihi: 22.06.2008 21:01:39

Bu makalede sizler ile windows mobile 6.0 işletim sistemine sahip cihazlara tv ve radyo özelliği vermeye çalışacağız.

Merhaba arkadaşlar bu makalemizde sizler ile beraber, Windows Mobile 6.0 platformuna sahip cep bilgisayarlarımız için, internet ağını kullanarak, cep bilgisayarlarımıza tv/radyo izleme/dinleme kabiliyeti kazandıracağız.

Bu uygulama için öncelik; http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en linkini kullanarak Windows mobile 6.0 sdk?sını indirip makinemize kurmamız gerekiyor.

Şimdiki işimiz basit bir tasarım yapmak, bunun için iki adet ComboBox, üç adet Label (bunlardan bir tanesini hata yazdırmak için kullanacağız), iki adet PictureBox, sağ MenuItem?ın text özelliğine ?Çıkış? değerini veriyoruz, soldaki menu için öncelikle Menü daha sonra sırasıyla ?Tv İzle?, ?Radyo Dinle? ve ?Hakkında? menüleri ekliyoruz.


Uygulamamız için benim google dan daha önceden bulduğum bir tv iconunu, Solituon Explorer kısmından Properties kısmına çift tıklayarak açılan ayar ekranından, Icon bölümünden iconumuzu seçiyoruz.

Tasarım işimiz bittikten sonra, sizlere uygulamanın çalışma mantığı ile ilgili bilgi vermek istiyorum.

Uygulamamız için yapmamız gereken ilk iş, tv ve radyo yayını yapan kanalların, uyumlu media playerlar için vermiş oldukları ağ adresleri, bunları yine google da bulmak mümkün, ben bulduklarımı combobox lara ekleyeceğim. Bu adresler mms://84.16.235.90/ShowRadyo şeklinde olmaktadır.

İlk işlemlerimiz, FormunLoad kısmında, tv ve radyo isimlerini eklemek. (İsimleri daha önceden bulduğumuz tv/radyo ağ adreslerine göre dolduruyoruz.)

private void Form1_Load(object sender, EventArgs e)

{

lblHata.Text = string.Empty;

#region TV İŞLEMLERİ

cmbTV.Items.Clear();

string[] tvler = new string[] { "SKY TURK", "EXPO CHANNEL", "TRT 1", "TRT 2", "TRT İNT", "NTV", "SAMANYOLU", };

cmbTV.Items.Add("Tv Kanalı Seçiniz...");

cmbTV.SelectedIndex = 0;

for (int i = 0; i < tvler.Length; i++)

{

cmbTV.Items.Add(tvler[i].ToString());

}

#endregion

#region RADYO İŞLMELERİ

cmbRadyo.Items.Clear();

string[] radyolar = new string[] { "SHOW RADYO", "POWER FM", "POWER TURK", "ALEM FM", "MYDONOSE", "TRT FM", "RADYO VİVA" };

cmbRadyo.Items.Add("Radyo Kanalı Seçiniz...");

cmbRadyo.SelectedIndex = 0;

for (int i = 0; i < radyolar.Length; i++)

{

cmbRadyo.Items.Add(radyolar[i].ToString());

}

#endregion

}

Bu iki işlemi aslında bir method halinde isimleri ve eklenecek combobox?ı alıp, tek bir hamlede doldurma işlemini yapabilirdik.

?Çıkış? işlemini yapacak menuitem için:

private void menuItem5_Click(object sender, EventArgs e)

{

Application.Exit();

}

Kodumuzu yazıyoruz.

?Tv İzle? menuitem için, comboBoxtan gelene değere göre hangi işlemin yapılacağını belirtiyoruz. Burada işimiz gelen tv/radyo ismine göre işletim sistemi içerisinden Windows media player?ı çağırıp ona parametre olarak ağ adresini yollamak

?TV İZLE?:

string tv = cmbTV.SelectedItem.ToString();

try

{

#region GELEN DEĞERE GÖRE YAPILAN TV İŞLEMİ

switch (tv)

{

case "EXPO CHANNEL":

System.Diagnostics.Process.Start("wmplayer", "mms://yayin.canlitv.com/expochannel");

break;

case "SKY TURK":

System.Diagnostics.Process.Start("wmplayer", "mms://213.74.20.66/Supertv_skycanli");

break;

case "TRT 1":

System.Diagnostics.Process.Start("wmplayer", "mms://212.175.166.3/TV1");

break;

case "TRT 2":

System.Diagnostics.Process.Start("wmplayer", "mms://212.175.166.3/TV2");

break;

case "TRT İNT":

System.Diagnostics.Process.Start("wmplayer", "mms://212.175.166.3/TRTINT");

break;

case "NTV":

System.Diagnostics.Process.Start("wmplayer", "mms://144.122.56.15/odtutv");

break;

case "SAMANYOLU":

System.Diagnostics.Process.Start("wmplayer", "mms://canli.samanyolu.tv/stv");

break;

default:

lblHata.Text = "Seçim yapmadınız...";

break;

}

#endregion

}

catch

{

lblHata.Text = "İstenmeyen bir hata oluştu...";

}

?RADYO DİNLE?:

string radyo = cmbRadyo.SelectedItem.ToString();

try

{

#region GELEN DEĞERE GÖRE YAPILAN RADYO İŞLEMİ

switch (radyo)

{

case "SHOW RADYO":

System.Diagnostics.Process.Start("wmplayer", "mms://84.16.235.90/ShowRadyo");

break;

case "POWER FM":

System.Diagnostics.Process.Start("wmplayer", "mms://xiphias.vargonen.net/PowerFm");

break;

case "POWER TURK":

System.Diagnostics.Process.Start("wmplayer", "mms://xiphias.vargonen.net/PowerTurk");

break;

case "ALEM FM":

System.Diagnostics.Process.Start("wmplayer", "mms://89.149.209.110/rd-alemfm");

break;

case "MYDONOSE":

System.Diagnostics.Process.Start("wmplayer", "mms://89.149.209.110/rd-radyomydonose");

break;

case "TRT FM":

System.Diagnostics.Process.Start("wmplayer", "mms://212.175.166.3/radyofm");

break;

case "RADYO VİVA":

System.Diagnostics.Process.Start("wmplayer", "mms://84.16.235.95/rv");

break;

default:

lblHata.Text = "Seçim yapmadınız...";

break;

}

#endregion

}

catch

{

lblHata.Text = "İstenmeyen bir hata oluştu...";

}

Şimdiki işlemimiz, iki ComboBox için seçim yapılmadan kod işlenmeye çalıştırılırsa alacağı hata lblHata.Text = "Seçim yapmadınız..."; olacaktı, şimdi İki ComboBox içinde, SelectedIndexChanged event lerinde şu işlemi yapalımki hatamız sürekli karşımızda durmasın.

lblHata.Text = string.Empty;

Basit bir Hakkında formunuda hazırladıktan sonra ?Hakkında? menuitem?ı için ise

Hakkinda hk = new Hakkinda();

hk.ShowDialog();

Hakkında formumuz için bir tane ?Geri? menuitem?ına da;

Hakkinda hk = new Hakkinda();

hk.Close();

Form1 frm = new Form1();

frm.ShowDialog();

kodlarını yazıyoruz.

Ve kodlarımız bitiyor, emulatör kullanarak deneme işlemi yapılabilinir. Makalememizin ikinci kısmında Mobile uygulamalar için cab dosyaları oluşturmuyı inceleyeeğiz. Herkese bol şanslı günler?

Püf Noktası: Eğer emulatör ile ilgili sorun yaşıyorsanız uygulamanızı derleyin ve debug klasöründeki exe nixi buradan çalıştır.

Yazar Hakkında 1 Yorum Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.