c# Desktop

Ses ve Video Dosyasını c# Windows Form Uygulamasında Oynatma

Burada, ses ve video dosyalarının yerel bir veritabanında nasıl saklanacağını ve nasıl geri yükleneceğini ve ardından Windows Media Player'da nasıl oynatılacağını açıklayacağım. Bir COM bileşeni, yani Windows'ta yerleşik medya oynatıcı kullandım. Aşağıdaki noktaları açıklayacağım:

Adım 1

Visual Studio programını açınız. Yeni bir Windows Form projesi oluşturunuz.

Adım 2

ToolBox panelinden 2 adet Button, 1 adet Combobox, 1 adet OpenFileDialog nesnelerini form sayfasına ekleyiniz.

Adım 3

ToolBox paneline yeni bir Com Componenti ekleyiniz. Bu işlemi yapmak için ToolBox panelinde farenin sağ tuşuna basınız. Ekrana gelen içerik menüsünden Choose Items komutunu seçiniz. Burada Com Component sekmesine tıklayınız. Windows Media Player nesnesini projeye ekleyiniz.

Adım 4

Aşağıdaki kodları form sayfasında oluşturunuz.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using static System.Net.WebRequestMethods;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        List<Video> Videos = new List<Video>();
        private void button1_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.stop();
            var file = GetFile();
            var lst = new string[] { ".mp3", ".avi", ".mp4", ".wmv" };
            if (file == null)
            {
                MessageBox.Show("Lütfen ses ya da video dosyası seçiniz.");
            }
            else
            {
                comboBox1.Items.Clear();
                foreach (Video item in file)
                {
                    if (lst.Contains(Path.GetExtension(item.Adi)))
                    {
                        comboBox1.Items.Add(item.Adi);
                    }
                }
            }

        }

        private List<Video> GetFile()
        {
            Videos.Clear();

            try
            {
                openFileDialog1.Title = "Ses ve Video Dosyası Seç...";
                openFileDialog1.Filter = "Dosyaları Seç (*.*)|*.*";
                openFileDialog1.InitialDirectory = @"D:\\";
                openFileDialog1.Multiselect = true;
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    foreach (string x in openFileDialog1.FileNames)
                    {
                        Video vid = new Video();

                        vid.Yol = Path.GetDirectoryName(x);
                        vid.Adi = Path.GetFileName(x);

                        Videos.Add(vid);
                    }
                    return Videos;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return null;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (comboBox1.SelectedItem == null)
            {
                MessageBox.Show("Lütfen çalmak için bir parça seçiniz...");
                return;
            }
            int x = Videos.FindIndex(tk => tk.Adi == comboBox1.SelectedItem.ToString());
            string parca = Videos[x].Yol + "/" + Videos[x].Adi;
            axWindowsMediaPlayer1.URL = parca;
            axWindowsMediaPlayer1.settings.autoStart = true;

        }
    }

    class Video
    {
        string yol;
        string adi;

        public string Yol
        {
            get
            {
                return yol;
            }

            set
            {
                yol = value;
            }
        }

        public string Adi
        {
            get
            {
                return adi;
            }

            set
            {
                adi = value;
            }
        }

    }
}

İlgili Makaleler
c# Console Uygulamalarında ReadKey Metoduyla Klavye Tuşlarını Kontrol Etme
Yıkıcı Metotlar (Destructors)
Sayısal Loto Çekilişini Yapan c# Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
Kaçan Buton Oyununu Yapan c# Uygulaması
Yazdırma İletişim Kutusu (PrintDialog)
C# Uygulamalarında HashMap Dizi Oluşturma
C# Uygulamalarında Dictionary Dizi Oluşturma
c# Form Uygulamalarında Ekranın Genişliğini ve Yüksekliğini Bulma
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Konsol Ekranında Kod Yazma ve Çalıştırma
LINQ - Gruplama (Grouping) Örnekleri
Veri Girişi Maskeleme (MaskedTextBox)
Panel Üzerinde Serbest Çizim Yapan c# Form Uygulaması
Veri Girişi Doğrulama (Input Validation)
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
C# Programlama Dilinde Veri Tipleri
Form Sayfalarında Ayrıntılı ListBox Kullanımı
Form Üzerine Satranç Tahtası Yapan c# Uygulaması
Belirtilen Sayı Kadar Yıldız Oluşturan c# Form Uygulaması

Yorum Ekle
   
Kötü İyi