Müzik Oynatıcı (Media Player – Mp3 Player) — C#
[code lang=”csharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;//www.gorselprogramlama.com
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb; // Access Sınıfımız.
namespace Coelho_Player
{
public partial class frmPlayer : Form
{
public frmPlayer()
{
InitializeComponent();
}
OleDbConnection connect = new OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0;Data Source=musicList.accdb");
string yedekMusicName = "";
bool yaziSilme = true;
bool playModeIcon = true;
int calinacakID = -1;
Random r = new Random();//www.gorselprogramlama.com
void BaglantiKur()
{
if (connect.State == ConnectionState.Closed)
{
connect.Open();
}
}
void MusicAdd(int id, string name, string path)
{
string sql = "INSERT INTO musicTablo(music_ID,music_Name,music_Path) VALUES(" + id + ",’" + name + "’,’" + path + "’)";
BaglantiKur();
OleDbCommand cmd = new OleDbCommand(sql, connect);
try { cmd.ExecuteNonQuery(); }
catch { }
connect.Close();
}//www.gorselprogramlama.com
void MusicClear()
{
string sql_Delete = "DELETE * FROM musicTablo";
BaglantiKur();
OleDbCommand cmd = new OleDbCommand(sql_Delete, connect);
cmd.ExecuteNonQuery();
connect.Close();
}
string MusicPlay(int musicID)
{
string sql_Select = "SELECT music_Path FROM musicTablo WHERE music_ID=" + musicID;
BaglantiKur();
OleDbCommand cmd = new OleDbCommand(sql_Select, connect);
OleDbDataReader oku;
oku = cmd.ExecuteReader();
string url = "";
while (oku.Read())//www.gorselprogramlama.com
{
url = oku[0].ToString();
}
connect.Close();
return url;
}
void gecmisMusicSil()
{
lblSure.Text = "Kalan Süre : 00:00 / 00:00";
btnPlayPause.BackgroundImage = Properties.Resources.play_icon;
playModeIcon = true;
coelhoPlayer.URL = "";
lblNowPlay.Text = "-";//www.gorselprogramlama.com
tbPlay.Value = 0;
timer2.Enabled = false;
timer1.Enabled = false;
}
string musicNameReturn(string[] lstName)
{
string name = "";
lstName[1] = lstName[1].Remove(0, 1);
for (int i = 1; i < lstName.Length – 1; i++)
{
name += lstName[i] + ".";
}
return name + lstName[lstName.Length – 1];
}
void RasgeleMusic()
{
int rasgele = r.Next(0, lstMusicList.Items.Count);
coelhoPlayer.URL = MusicPlay(rasgele);
lstMusicList.SelectedIndex = rasgele;
lblNowPlay.Text = lstMusicList.SelectedItem.ToString();
btnPlayPause.BackgroundImage = Properties.Resources.pause_icon;
playModeIcon = false;
yaziSilme = true;//www.gorselprogramlama.com
yedekMusicName = "";
}
void SiraylaMusic()
{
int sira;
if (lstMusicList.SelectedIndex + 1 == lstMusicList.Items.Count)
{
sira = 0;
}
else
{
sira = lstMusicList.SelectedIndex + 1;
}
lstMusicList.SelectedIndex = sira;
coelhoPlayer.URL = MusicPlay(sira);
lstMusicList.SelectedIndex = sira;
//www.gorselprogramlama.com
lblNowPlay.Text = lstMusicList.SelectedItem.ToString();
btnPlayPause.BackgroundImage = Properties.Resources.pause_icon;
playModeIcon = false;
yaziSilme = true;
yedekMusicName = "";
}
private void btnMusicAdd_Click(object sender, EventArgs e)
{
musicSelect.Reset();
musicSelect.Multiselect = true;
musicSelect.Title = "Müzik dosyası ara";//www.gorselprogramlama.com
musicSelect.ShowDialog();
int selectMusic = musicSelect.SafeFileNames.Count();
int eklenenMusic = lstMusicList.Items.Count;
for (int i = 0; i < selectMusic; i++)
{
string path = musicSelect.FileNames[i];
string[] musicName = path.Split(‘\\’);
MusicAdd(lstMusicList.Items.Count, musicName[musicName.Length – 1], path);
char[] karakterler = musicName[musicName.Length – 1].ToCharArray();
for (int j = 0; j < karakterler.Length; j++)
{
if (karakterler[j] == ‘\” || karakterler[j] == ‘"’)
{
musicName[musicName.Length – 1] = musicName[musicName.Length – 1].Remove(j, 1);
karakterler = musicName[musicName.Length – 1].ToCharArray();
j = 0;
}//www.gorselprogramlama.com
}
lstMusicList.Items.Add(Convert.ToString(eklenenMusic + i + 1) + ". " + musicName[musicName.Length – 1]);
}
}
private void frmPlayer_Load(object sender, EventArgs e)
{
MusicClear();
}
private void btnMusicClear_Click(object sender, EventArgs e)
{
MusicClear();//www.gorselprogramlama.com
lstMusicList.Items.Clear();
}
private void btnMusicRemove_Click(object sender, EventArgs e)
{
if (lstMusicList.SelectedIndex == -1)
{
MessageBox.Show("Listeden silinecek bir müzik seçmediniz.", "Dikkat");
return;
}
int indis = lstMusicList.SelectedIndex;
BaglantiKur();
string sql_Delete = "DELETE FROM musicTablo WHERE music_ID=" + indis;
OleDbCommand cmd_Delete = new OleDbCommand(sql_Delete, connect);
cmd_Delete.ExecuteNonQuery();
for (int i = indis + 1; i < lstMusicList.Items.Count; i++) // Veri Tabanını düzenledi.
{
string[] musicName = lstMusicList.Items[i].ToString().Split(‘.’);
string returnName = musicNameReturn(musicName);
string sql_Update = "UPDATE musicTablo SET music_ID=" + (i – 1).ToString() + " WHERE music_Name=’" + returnName + "’";
OleDbCommand cmd_Update = new OleDbCommand(sql_Update, connect);
cmd_Update.ExecuteNonQuery();
lstMusicList.Items[i] = i.ToString() + ". " + returnName;
}//www.gorselprogramlama.com
lstMusicList.Items.RemoveAt(indis);
connect.Close();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (yaziSilme)
{
yedekMusicName += lblNowPlay.Text[0].ToString();
lblNowPlay.Text = lblNowPlay.Text.Remove(0, 1);
if (lblNowPlay.Text.Length == 0)
{
yaziSilme = false;
}
}
else // ekleme
{
lblNowPlay.Text += yedekMusicName[0];
yedekMusicName = yedekMusicName.Remove(0, 1);
if (yedekMusicName.Length == 0)
{
yaziSilme = true;
}//www.gorselprogramlama.com
}
}
private void btnPlayPause_Click(object sender, EventArgs e)
{
yedekMusicName = "";
if (playModeIcon)
{
if (lstMusicList.Items.Count == 0)
{
MessageBox.Show("Oynatılacak müzik bulunamadı.","Dikkat");
return;//www.gorselprogramlama.com
}
lblNowPlay.Text = lstMusicList.SelectedItem.ToString();
btnPlayPause.BackgroundImage = Properties.Resources.pause_icon;
coelhoPlayer.Ctlcontrols.play();
playModeIcon = false;
timer1.Enabled = true;
timer2.Enabled = true;
}
else
{
lblNowPlay.Text = "";
btnPlayPause.BackgroundImage = Properties.Resources.play_icon;
coelhoPlayer.Ctlcontrols.pause();
playModeIcon = true;//www.gorselprogramlama.com
timer1.Enabled = false;
timer2.Enabled = false;
}
}
private void tbPlay_Scroll(object sender, EventArgs e)
{
coelhoPlayer.Ctlcontrols.currentPosition = tbPlay.Value;
}
private void timer2_Tick(object sender, EventArgs e)
{
string kalanSure = coelhoPlayer.Ctlcontrols.currentPositionString.ToString();
string maxSure = coelhoPlayer.Ctlcontrols.currentItem.durationString;
lblSure.Text = "Kalan Süre : " + kalanSure + " / " + maxSure;
tbPlay.Maximum = Convert.ToInt32(coelhoPlayer.Ctlcontrols.currentItem.duration);
try { tbPlay.Value = Convert.ToInt32(coelhoPlayer.Ctlcontrols.currentPosition); }
catch { }
if (kalanSure == maxSure || kalanSure == "")
{//www.gorselprogramlama.com
if (chkPlay.Checked)
{
if (rbKarisik.Checked)
{
RasgeleMusic();
}
else
{
SiraylaMusic();
}
}
else
{
gecmisMusicSil();
}
}
}
private void btnStop_Click(object sender, EventArgs e)
{
coelhoPlayer.Ctlcontrols.stop();
gecmisMusicSil();
}
private void tbSound_Scroll(object sender, EventArgs e)
{
coelhoPlayer.settings.volume = tbSound.Value;
lblSound.Text = "Ses seviyesi : % " + tbSound.Value;
}
private void chkPlay_CheckedChanged(object sender, EventArgs e)
{
if (chkPlay.Checked)//www.gorselprogramlama.com
{
if (lstMusicList.Items.Count == 0)
{
MessageBox.Show("En az bir adet müzik eklemelisiniz.","Dikkat");
chkPlay.Checked = false;
return;
}
if (rbKarisik.Checked)
{
RasgeleMusic();
}
else
{
SiraylaMusic();
}
timer1.Enabled = true;
timer2.Enabled = true;//www.gorselprogramlama.com
}
else
{
gecmisMusicSil();
}
}
private void lstMusicList_SelectedIndexChanged(object sender, EventArgs e)
{
if (lstMusicList.SelectedIndex == -1)
{
MessageBox.Show("Listeden çalınacak müziği seçmediniz.", "Dikkat");
return;
}
gecmisMusicSil();
coelhoPlayer.URL = MusicPlay(lstMusicList.SelectedIndex);
lblNowPlay.Text = lstMusicList.SelectedItem.ToString();//www.gorselprogramlama.com
btnPlayPause.BackgroundImage = Properties.Resources.pause_icon;
playModeIcon = false;
yaziSilme = true;
yedekMusicName = "";
timer1.Enabled = true;
timer2.Enabled = true;
}
private void btnNext_Click(object sender, EventArgs e)
{
if (rbKarisik.Checked)
{
RasgeleMusic();
}
else
{
SiraylaMusic();//www.gorselprogramlama.com
}
}
}
}
[/code]


musicSelecti choose ıtems de bulamadım nasıl eklediniz ? Acil açıklayabilir misiniz ?
@Aykut
sadece selecenti ara bulursun
Çok yardımcı oldu çok sağolun Allah razı olsun
İlk önce program çok güzel olmuş ama ben form yüklendiğinde eklediğim müziklerin gelmesini istiyorum kodlara baktım ama kendim yapamadım.Tam olarak ne yapmam gerekiyor ?
oradaki coelhoPlayer nedir anlamadım
Çok güzel bir proje olmuş ellerinize sağlık
karışık çalma ve sırayla çalma kısımlarını butonla yapmaya çalıştım fakat hata verip kapanıyor nasıl yapabilirim yardımcı olursanız sevinirim