Я хочу добавить трекбар на свой медиаплеер - PullRequest
0 голосов
/ 27 апреля 2018

Я делаю простой медиаплеер и хочу добавить некоторую общую функцию, например элемент управления трекбаром, который синхронизируется с видео / музыкой во время работы.

Это то, что я сделал до сих пор:

namespace Joe_Media_Player
{

    public partial class Form1 : Form
    {

        public Form1()
        {

            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

Кнопка паузы

        private void pausebutton_Click(object sender, EventArgs e)
        {
            if(axWindowsMediaPlayer1.playState == WMPPlayState.wmppsPaused)
            {
                mediaplayer.Ctlcontrols.play();
            }
            else
            {
                axWindowsMediaPlayer1.Ctlcontrols.pause();
            }
        }

Кнопка воспроизведения

        private void  playbutton_Click(object sender, EventArgs e)
        {
            listBox1.SelectedIndex = 0;
            axWindowsMediaPlayer1.Ctlcontrols.play();
        }

Открыть файл / просмотреть

        private void BrowseBtn_Click(object sender, EventArgs e) // Open file //
        {
            using (OpenFileDialog ofd = new OpenFileDialog() { Multiselect = true, ValidateNames = true, Filter = "(mp3,wav,wav,mov,wmv,mpg,avi,3gp,flv|*.mp3;*.mp4;*.wav;*.mov;*.wmv;*.mpg;*.avi;*.3gp;*.flv|all files|*.*" }) //HEADER
            {
                if (ofd.ShowDialog() == DialogResult.OK) // Kondisi mulai
                {
                    List<MediaFile> files = new List<MediaFile>(); // Membuat list baru musik/video
                    foreach (string fileName in ofd.FileNames) // Cetak file nama
                    {
                        FileInfo fi = new FileInfo(fileName); // New file info nama
                        files.Add(new MediaFile() { FileName = Path.GetFileNameWithoutExtension(fi.FullName), Path = fi.FullName }); // Pilih file musik/video
                    }
                    listBox1.DataSource = files; // List data file
                    listBox1.ValueMember = "Path"; // List tipe
                    listBox1.DisplayMember = "FileName"; // File nama
                }
            }
        }

Кнопка свернуть и развернуть

        private void MinBtn_Click(object sender, EventArgs e)
        {
            FormBorderStyle = FormBorderStyle.None;
            WindowState = FormWindowState.Minimized;
        }

        private void MaxBtn_Click(object sender, EventArgs e)
        {
            FormBorderStyle = FormBorderStyle.None;
            WindowState = FormWindowState.Maximized;

        }

Перемотка назад, стоп, перемотка вперед, кнопка «Далее»

        private void rewindbutton_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.fastReverse();
        }

        private void prevbutton_Click(object sender, EventArgs e)
        {
            if(axWindowsMediaPlayer1r.playState == WMPLib.WMPPlayState.wmppsPlaying)
            {
                if(listBox1.SelectedIndex == 0)
                {
                    listBox1.SelectedIndex = 0;
                    listBox1.Update();
                }
                else
                {
                    axWindowsMediaPlayer1.Ctlcontrols.previous();
                    listBox1.SelectedIndex -= 1;
                    listBox1.Update();
                }
            }
            mediaplayer.Ctlcontrols.previous();
        }

        private void stopbutton_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.stop();
        }

        private void nextbutton_Click(object sender, EventArgs e)
        {
            if(axWindowsMediaPlayer1.playState== WMPLib.WMPPlayState.wmppsPlaying)
            {
                if(listBox1.SelectedIndex < (listBox1.Items.Count -1))
                {
                    axWindowsMediaPlayer1.Ctlcontrols.next();
                    listBox1.SelectedIndex += 1;
                    listBox1.Update();
                }
                else
                {
                    listBox1.SelectedIndex = 0;
                    listBox1.Update();
                }
            }
        }

        private void fastfowardbutton_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.fastForward();
        }

listbox1

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            MediaFile file = listBox1.SelectedItem as MediaFile;
            if (file != null)
            {
                axWindowsMediaPlayer1.URL = file.Path;// Pilih tipe file
                mediaplayer.Ctlcontrols.play(); // Contorl mulai musik/video
            }
        }

трекбар громкости

        private void volumetrackbar_ValueChanged(object sender, EventArgs e)
        {
            int rate = 100 * (bunifuSlider2.Value - 10);
            axWindowsMediaPlayer1.settings.volume = bunifuSlider2.Value;
        }

        private void volumebutton_Click(object sender, EventArgs e)
        {
            if (axWindowsMediaPlayer1.settings.volume == 100)
            {
                axWindowsMediaPlayer1.settings.volume = 0;
                bunifuSlider2.Value = 0;

            }
            else
            {
                axWindowsMediaPlayer1.settings.volume = 100;
                bunifuSlider2.Value = 100;
            }
        }

трекбар и таймер (не код прямо сейчас)

        private void trackbar_ValueChanged(object sender, EventArgs e)
        {

        }

        private void timer1_Tick(object sender, EventArgs e)
        {

        }

Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...